/**********************************************************************
*<
FILE: GR2Format.h

DESCRIPTION:	GR2 File Format

HISTORY:

*>	Copyright (c) 2009, All Rights Reserved.
**********************************************************************/
#include <stdafx.h>
#include <windows.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <stdexcept>
#include "GFFFile.h"

using namespace DAO;
using namespace DAO::GFF;

const EnumLookupType GFFIDs[] =
{
{GFF_INVALIDENTRY                 , _T("INVALIDENTRY")},

// Begin Generic Range
{GFF_TAG                          , _T("TAG")},
{GFF_NAME                         , _T("NAME")},
{GFF_TEMPLATERESREF               , _T("TEMPLATERESREF")},
{GFF_POSITION                     , _T("POSITION")},
{GFF_ORIENTATION                  , _T("ORIENTATION")},
{GFF_UINT8_LIST                   , _T("UINT8_LIST")},
{GFF_INT8_LIST                    , _T("INT8_LIST")},
{GFF_UINT16_LIST                  , _T("UINT16_LIST")},
{GFF_INT16_LIST                   , _T("INT16_LIST")},
{GFF_UINT32_LIST                  , _T("UINT32_LIST")},
{GFF_INT32_LIST                   , _T("INT32_LIST")},
{GFF_UINT64_LIST                  , _T("UINT64_LIST")},
{GFF_INT64_LIST                   , _T("INT64_LIST")},
{GFF_FLOAT32_LIST                 , _T("FLOAT32_LIST")},
{GFF_FLOAT64_LIST                 , _T("FLOAT64_LIST")},
{GFF_VECTOR3F_LIST                , _T("VECTOR3F_LIST")},
{GFF_VECTOR4F_LIST                , _T("VECTOR4F_LIST")},
{GFF_QUATERNIONF_LIST             , _T("QUATERNIONF_LIST")},
{GFF_ECSTRING_LIST                , _T("ECSTRING_LIST")},
{GFF_COLOR4F_LIST                 , _T("COLOR4F_LIST")},
{GFF_NAME_HASH                    , _T("NAME_HASH")},
{GFF_TEXT                         , _T("TEXT")},
{GFF_OBJECT_ID                    , _T("OBJECT_ID")},

{GFF_TS_PROPERTY                  , _T("TS_PROPERTY")},
{GFF_TS_PROPERTY_NAME             , _T("TS_PROPERTY_NAME")},
{GFF_TS_PROPERTY_ATOM             , _T("TS_PROPERTY_ATOM")},
{GFF_TS_PROPERTY_VALUE            , _T("TS_PROPERTY_VALUE")},
{GFF_TS_PROPERTY_CHILDREN         , _T("TS_PROPERTY_CHILDREN")},
{GFF_TS_PROPERTY_VARTYPE          , _T("TS_PROPERTY_VARTYPE")},

// generic range reserved up to 999

// Begin Item Range
{GFF_ITEM_BASEID                  , _T("ITEM_BASEID")},
{GFF_ITEM_COST                    , _T("ITEM_COST")},
{GFF_ITEM_STACKSIZE               , _T("ITEM_STACKSIZE")},
{GFF_ITEM_STOLEN                  , _T("ITEM_STOLEN")},
{GFF_ITEM_PLOT                    , _T("ITEM_PLOT")},
{GFF_ITEM_IDENTIFIED              , _T("ITEM_IDENTIFIED")},
{GFF_ITEM_CHARGES                 , _T("ITEM_CHARGES")},
{GFF_ITEM_MODELVARIATION          , _T("ITEM_MODELVARIATION")},
{GFF_ITEM_DESCRIPTION             , _T("ITEM_DESCRIPTION")},
{GFF_ITEM_PROPERTYLIST            , _T("ITEM_PROPERTYLIST")},
{GFF_ITEM_MATERIAL                , _T("ITEM_MATERIAL")},
{GFF_ITEM_ABILITYID               , _T("ITEM_ABILITYID")},
{GFF_ITEM_ABILITYPWR              , _T("ITEM_ABILITYPWR")},
{GFF_ITEM_PROPERTIES              , _T("ITEM_PROPERTIES")},
{GFF_ITEM_PROPERTY_POWERS         , _T("ITEM_PROPERTY_POWERS")},
{GFF_ITEM_PROPERTY_EFFECTID       , _T("ITEM_PROPERTY_EFFECTID")},
// X_NO_LONGER_USED_X_{GFF_ITEM_ONHIT_EFFECTID          , _T("ITEM_ONHIT_EFFECTID")},
// X_NO_LONGER_USED_X_{GFF_ITEM_ONHIT_POWER             , _T("ITEM_ONHIT_POWER")},
{GFF_ITEM_PROPERTY_VFXID          , _T("ITEM_PROPERTY_VFXID")},
{GFF_ITEM_SUBITEMS_RESREFS        , _T("ITEM_SUBITEMS_RESREFS")},
{GFF_ITEM_CRAFTINGRECIPEID        , _T("ITEM_CRAFTINGRECIPEID")},
{GFF_ITEM_BASECOST                , _T("ITEM_BASECOST")},
// item range reserved up to 1999

// Begin item properties range
{GFF_ITEM_PROP_PARAM1                  , _T("ITEM_PROP_PARAM1")},
{GFF_ITEM_PROP_PROPERTYNAME            , _T("ITEM_PROP_PROPERTYNAME")},
{GFF_ITEM_PROP_SUBTYPE                 , _T("ITEM_PROP_SUBTYPE")},
{GFF_ITEM_PROP_COSTTABLE               , _T("ITEM_PROP_COSTTABLE")},
{GFF_ITEM_PROP_COSTVALUE               , _T("ITEM_PROP_COSTVALUE")},
{GFF_ITEM_PROP_PARAM1VALUE             , _T("ITEM_PROP_PARAM1VALUE")},
{GFF_ITEM_PROP_CHANCEAPPEAR            , _T("ITEM_PROP_CHANCEAPPEAR")},
// item properties range reserved up to 2999

// Begin environment properties range
{GFF_ENV_WORLD                    , _T("ENV_WORLD")},
{GFF_ENV_WORLD_NAME               , _T("ENV_WORLD_NAME")},
{GFF_ENV_WORLD_AREA_LIST          , _T("ENV_WORLD_AREA_LIST")},
{GFF_LVL_CHILD_LIST               , _T("LVL_CHILD_LIST")},
{GFF_LVL_FILE_OBJECT_VERSION      , _T("LVL_FILE_OBJECT_VERSION")},
{GFF_LVL_CHANGETIME               , _T("LVL_CHANGETIME")},

{GFF_ENV_AREA                     , _T("ENV_AREA")},
{GFF_ENV_AREA_ID                  , _T("ENV_AREA_ID")},
{GFF_ENV_AREA_NAME                , _T("ENV_AREA_NAME")},
{GFF_ENV_AREA_FILE                , _T("ENV_AREA_FILE")},
{GFF_ENV_AREA_ENVIRONMENTSETTINGS , _T("ENV_AREA_ENVIRONMENTSETTINGS")},
{GFF_ENV_AREA_NAVIGATION_INFO_FILE, _T("ENV_AREA_NAVIGATION_INFO_FILE")},
{GFF_ENV_AREA_ROOM_LIST           , _T("ENV_AREA_ROOM_LIST")},
{GFF_ENV_AREA_ROOM_LIST_ELEMENT   , _T("ENV_AREA_ROOM_LIST_ELEMENT")},
{GFF_ENV_AREA_POSITION            , _T("ENV_AREA_POSITION")},
{GFF_ENV_AREA_ROTATION            , _T("ENV_AREA_ROTATION")},
{GFF_ENV_AREA_PATHFINDING_EXPORT  , _T("ENV_AREA_PATHFINDING_EXPORT")},
{GFF_ENV_AREA_PATHFINDING_VISINFO , _T("ENV_AREA_PATHFINDING_VISINFO")},
{GFF_ENV_AREA_PATHFINDING_VISINFO_COUNT   , _T("ENV_AREA_PATHFINDING_VISINFO_COUNT")},
{GFF_ENV_AREA_FRAME_BUFFER_EFFECT , _T("ENV_AREA_FRAME_BUFFER_EFFECT")},
{GFF_ENV_AREA_CENTER				 , _T("ENV_AREA_CENTER")},
{GFF_ENV_AREA_SKYDOME_MODEL       , _T("ENV_AREA_SKYDOME_MODEL")},
{GFF_ENV_AREA_FRAME_BUFFER_EFFECT_LIST    , _T("ENV_AREA_FRAME_BUFFER_EFFECT_LIST")},
{GFF_ENV_AREA_GLOBALWIND_RESREF   , _T("ENV_AREA_GLOBALWIND_RESREF")},
{GFF_ENV_AREA_LOCALWIND_LIST      , _T("ENV_AREA_LOCALWIND_LIST")},
{GFF_ENV_AREA_PATHFINDING_COSTS   , _T("ENV_AREA_PATHFINDING_COSTS")},

{GFF_ENV_ROOM                     , _T("ENV_ROOM")},
{GFF_ENV_ROOM_ID                  , _T("ENV_ROOM_ID")},
{GFF_ENV_ROOM_NAME                , _T("ENV_ROOM_NAME")},
{GFF_ENV_ROOM_FILE                , _T("ENV_ROOM_FILE")},
{GFF_ENV_ROOM_ENVIRONMENTSETTINGS , _T("ENV_ROOM_ENVIRONMENTSETTINGS")},
{GFF_ENV_ROOM_POSITION            , _T("ENV_ROOM_POSITION")},
{GFF_ENV_ROOM_ROTATION            , _T("ENV_ROOM_ROTATION")},
{GFF_ENV_ROOM_PATHFINDING_GRIDSEPARATION  , _T("ENV_ROOM_PATHFINDING_GRIDSEPARATION")},
{GFF_ENV_ROOM_PATHFINDING_CHARACTERHEIGHT , _T("ENV_ROOM_PATHFINDING_CHARACTERHEIGHT")},
{GFF_ENV_ROOM_PATHFINDING_CLEARANCE       , _T("ENV_ROOM_PATHFINDING_CLEARANCE")},
{GFF_ENV_ROOM_PATHFINDING_EXPORT          , _T("ENV_ROOM_PATHFINDING_EXPORT")},
{GFF_ENV_ROOM_PATHFINDING_VISINFO         , _T("ENV_ROOM_PATHFINDING_VISINFO")},
{GFF_ENV_ROOM_PATHFINDING_VISINFO_COUNT   , _T("ENV_ROOM_PATHFINDING_VISINFO_COUNT")},
{GFF_ENV_ROOM_PATH_GRID_FILE      , _T("ENV_ROOM_PATH_GRID_FILE")},
{GFF_ENV_ROOM_PATHCONNECTION_LIST , _T("ENV_ROOM_PATHCONNECTION_LIST")},
{GFF_ENV_ROOM_PATHCONNECTION      , _T("ENV_ROOM_PATHCONNECTION")},
{GFF_ENV_ROOM_PATHCONNECTION_ID   , _T("ENV_ROOM_PATHCONNECTION_ID")},
{GFF_ENV_ROOM_VISIBILITY_LIST     , _T("ENV_ROOM_VISIBILITY_LIST")},
{GFF_ENV_ROOM_VISIBILITY          , _T("ENV_ROOM_VISIBILITY")},
{GFF_ENV_ROOM_VISIBILITY_ID       , _T("ENV_ROOM_VISIBILITY_ID")},
{GFF_ENV_ROOM_MODEL_LIST          , _T("ENV_ROOM_MODEL_LIST")},
{GFF_ENV_ROOM_LIGHT_LIST          , _T("ENV_ROOM_LIGHT_LIST")},
{GFF_ENV_ROOM_MODEL_LIST_ELEMENT  , _T("ENV_ROOM_MODEL_LIST_ELEMENT")},
{GFF_ENV_ROOM_LIGHT_LIST_ELEMENT  , _T("ENV_ROOM_LIGHT_LIST_ELEMENT")},
{GFF_ENV_ROOM_DYNSHADOW_DIRECTION , _T("ENV_ROOM_DYNSHADOW_DIRECTION")},
{GFF_ENV_ROOM_DYNSHADOW_ENABLED   , _T("ENV_ROOM_DYNSHADOW_ENABLED")},

{GFF_ENV_MODEL_PATHFINDING_OVERLAPPED , _T("ENV_MODEL_PATHFINDING_OVERLAPPED")},
{GFF_ENV_MODEL_SHOW_HIGH_LOD      , _T("ENV_MODEL_SHOW_HIGH_LOD")},
{GFF_ENV_MODEL_SNAP_TO_TERRAIN    , _T("ENV_MODEL_SNAP_TO_TERRAIN")},
{GFF_ENV_MODEL_SCALE			     , _T("ENV_MODEL_SCALE")},

{GFF_ENV_MODEL                    , _T("ENV_MODEL")},
{GFF_ENV_MODEL_ID                 , _T("ENV_MODEL_ID")},
{GFF_ENV_MODEL_NAME               , _T("ENV_MODEL_NAME")},
{GFF_ENV_MODEL_FILE               , _T("ENV_MODEL_FILE")},
{GFF_ENV_MODEL_POSITION           , _T("ENV_MODEL_POSITION")},
{GFF_ENV_MODEL_ROTATION           , _T("ENV_MODEL_ROTATION")},
{GFF_ENV_MODEL_PATHFINDING_NORMAL , _T("ENV_MODEL_PATHFINDING_NORMAL")},

{GFF_ENV_LIGHT                    , _T("ENV_LIGHT")},
{GFF_ENV_LIGHT_ID                 , _T("ENV_LIGHT_ID")},
{GFF_ENV_LIGHT_NAME               , _T("ENV_LIGHT_NAME")},
{GFF_ENV_LIGHT_POSITION           , _T("ENV_LIGHT_POSITION")},
{GFF_ENV_LIGHT_ROTATION           , _T("ENV_LIGHT_ROTATION")},
{GFF_LIGHT_COLOR                  , _T("LIGHT_COLOR")},
{GFF_LIGHT_ISDYNAMIC              , _T("LIGHT_ISDYNAMIC")},
{GFF_LIGHT_TYPE                   , _T("LIGHT_TYPE")},
{GFF_LIGHT_POINT_RADIUS           , _T("LIGHT_POINT_RADIUS")},
{GFF_LIGHT_COLOR_MULTIPLIER       , _T("LIGHT_COLOR_MULTIPLIER")},
{GFF_LIGHT_BAKED                  , _T("LIGHT_BAKED")},
{GFF_LIGHT_EFFECT                 , _T("LIGHT_EFFECT")},
{GFF_LIGHT_AFFECT_DOMAIN          , _T("LIGHT_AFFECT_DOMAIN")},

{GFF_AREAGRID_NAVINFO             , _T("AREAGRID_NAVINFO")},
{GFF_AREAGRID_ROOMNAME            , _T("AREAGRID_ROOMNAME")},
{GFF_AREAGRID_GRIDNAVINFO         , _T("AREAGRID_GRIDNAVINFO")},
{GFF_AREAGRID_MODELGRID           , _T("AREAGRID_MODELGRID")},
{GFF_AREAGRID_GRIDID              , _T("AREAGRID_GRIDID")},
{GFF_AREAGRID_MODELID             , _T("AREAGRID_MODELID")},
{GFF_AREAGRID_NBCOLUMNS           , _T("AREAGRID_NBCOLUMNS")},
{GFF_AREAGRID_NBROWS              , _T("AREAGRID_NBROWS")},
{GFF_AREAGRID_CELLSIZE            , _T("AREAGRID_CELLSIZE")},
{GFF_AREAGRID_CLEARANCE           , _T("AREAGRID_CLEARANCE")},
{GFF_AREAGRID_BASEPOS             , _T("AREAGRID_BASEPOS")},
{GFF_AREAGRID_NORMAL              , _T("AREAGRID_NORMAL")},
{GFF_AREAGRID_DATA                , _T("AREAGRID_DATA")},
{GFF_AREAGRID_HEIGHT              , _T("AREAGRID_HEIGHT")},
{GFF_AREAGRID_ABSTRACTION_SECTORSIZE , _T("AREAGRID_ABSTRACTION_SECTORSIZE")},
{GFF_AREAGRID_ABSTRACTION_SECTORS , _T("AREAGRID_ABSTRACTION_SECTORS")},
{GFF_AREAGRID_ABSTRACTION_MEMORY  , _T("AREAGRID_ABSTRACTION_MEMORY")},
{GFF_AREAGRID_ID                  , _T("AREAGRID_ID")},
{GFF_AREAGRID_CELLID              , _T("AREAGRID_CELLID")},

{GFF_ENV_ROOM_CONNECTIVITY_LIST   , _T("ENV_ROOM_CONNECTIVITY_LIST")},

{GFF_LIGHT_SPOT_INNER_ANGLE       , _T("LIGHT_SPOT_INNER_ANGLE")},
{GFF_LIGHT_SPOT_OUTER_ANGLE       , _T("LIGHT_SPOT_OUTER_ANGLE")},
{GFF_LIGHT_SPOT_DISTANCE          , _T("LIGHT_SPOT_DISTANCE")},

{GFF_ENV_LIGHT_PROBE              , _T("ENV_LIGHT_PROBE")},
{GFF_ENV_LIGHT_PROBE_ENVMAP       , _T("ENV_LIGHT_PROBE_ENVMAP")},

{GFF_ENV_LIGHT_NUM_SAMPLES        , _T("ENV_LIGHT_NUM_SAMPLES")},
{GFF_ENV_LIGHT_SIZE               , _T("ENV_LIGHT_SIZE")},
{GFF_DYNAMICSHADOW_VECTOR_GAME    , _T("DYNAMICSHADOW_VECTOR_GAME")},

{GFF_ENV_LIGHT_PROBE_ID           , _T("ENV_LIGHT_PROBE_ID")},

{GFF_ENV_MODEL_CUT_AWAY_OVERRIDE  , _T("ENV_MODEL_CUT_AWAY_OVERRIDE")},

{GFF_AREAGRID_AREA                , _T("AREAGRID_AREA")},

{GFF_AREAGRID_SOUND_DATA          , _T("AREAGRID_SOUND_DATA")},
{GFF_AREAGRID_ABSTRACTION_SNUMREG , _T("AREAGRID_ABSTRACTION_SNUMREG")},
{GFF_AREAGRID_ABSTRACTION_SADDR   , _T("AREAGRID_ABSTRACTION_SADDR")},

{GFF_AREAGRID_LIGHT_SUBSET_DATA8   , _T("AREAGRID_LIGHT_SUBSET_DATA8")},
{GFF_AREAGRID_LIGHT_SUBSET_DATA16   , _T("AREAGRID_LIGHT_SUBSET_DATA16")},

{GFF_LIGHT_CAN_BE_OCCLUDED          , _T("LIGHT_CAN_BE_OCCLUDED")},

{GFF_AREAGRID_CELLPADDING           , _T("AREAGRID_CELLPADDING")},

//{GFF_AREAGRID_AREA_ID             , _T("AREAGRID_AREA_ID")},
//{GFF_AREAGRID_ROOMS               , _T("AREAGRID_ROOMS")},
//{GFF_AREAGRID_ROOM                , _T("AREAGRID_ROOM")},
//{GFF_AREAGRID_ROOM_ID             , _T("AREAGRID_ROOM_ID")},
//{GFF_AREAGRID_ROOM_NUMBER_OF_LINKS, _T("AREAGRID_ROOM_NUMBER_OF_LINKS")},
//{GFF_AREAGRID_LINKS               , _T("AREAGRID_LINKS")},
//{GFF_AREAGRID_LINK                , _T("AREAGRID_LINK")},
//{GFF_AREAGRID_LINK_ID             , _T("AREAGRID_LINK_ID")},
//{GFF_AREAGRID_LINK_CELL_ID        , _T("AREAGRID_LINK_CELL_ID")},
//{GFF_AREAGRID_LINK_ROOM_ID        , _T("AREAGRID_LINK_ROOM_ID")},
//{GFF_AREAGRID_LINK_NEIGHBOR_IDS   , _T("AREAGRID_LINK_NEIGHBOR_IDS")},

{GFF_ENV_AREA_CHUNK_ISCHUNK       , _T("ENV_AREA_CHUNK_ISCHUNK")},
{GFF_ENV_AREA_CHUNK_ROWCOUNT      , _T("ENV_AREA_CHUNK_ROWCOUNT")},
{GFF_ENV_AREA_CHUNK_COLCOUNT      , _T("ENV_AREA_CHUNK_COLCOUNT")},
{GFF_ENV_AREA_CHUNK_WIDTH         , _T("ENV_AREA_CHUNK_WIDTH")},
{GFF_ENV_AREA_CHUNK_HEIGHT        , _T("ENV_AREA_CHUNK_HEIGHT")},
{GFF_ENV_AREA_LAYOUT_NAME         , _T("ENV_AREA_LAYOUT_NAME")},
{GFF_ENV_AREA_STARTPOINT_NAME     , _T("ENV_AREA_STARTPOINT_NAME")},
{GFF_ENV_AREA_CUTOFF_HEIGHT       , _T("ENV_AREA_CUTOFF_HEIGHT")},

{GFF_LIGHT_ANIMATED_MIN_FREQUENCY , _T("LIGHT_ANIMATED_MIN_FREQUENCY")},
{GFF_LIGHT_ANIMATED_MAX_FREQUENCY , _T("LIGHT_ANIMATED_MAX_FREQUENCY")},
{GFF_LIGHT_ANIMATED_MIN_INTENSITY , _T("LIGHT_ANIMATED_MIN_INTENSITY")},
{GFF_LIGHT_ANIMATED_MAX_INTENSITY , _T("LIGHT_ANIMATED_MAX_INTENSITY")},

{GFF_ENV_AREA_CUTOFF_SYSTEM_ENABLED, _T("ENV_AREA_CUTOFF_SYSTEM_ENABLED")},

{GFF_ENV_MINIMAP_TEXTURE_MAP_COORDS , _T("ENV_MINIMAP_TEXTURE_MAP_COORDS")},
{GFF_ENV_MINIMAP_LOWER_LEFT_POINT   , _T("ENV_MINIMAP_LOWER_LEFT_POINT")},
{GFF_ENV_MINIMAP_UPPER_RIGHT_POINT  , _T("ENV_MINIMAP_UPPER_RIGHT_POINT")},

{GFF_ENV_ROOM_LOWER_LEFT_POINT    , _T("ENV_ROOM_LOWER_LEFT_POINT")},
{GFF_ENV_ROOM_UPPER_RIGHT_POINT   , _T("ENV_ROOM_UPPER_RIGHT_POINT")},
{GFF_ENV_AREA_FORCE_CHARACTER_LIGHTING, _T("ENV_AREA_FORCE_CHARACTER_LIGHTING")},

{GFF_ENV_AREA_SUNLIGHT_CAN_BE_OCCLUDED_CHAR , _T("ENV_AREA_SUNLIGHT_CAN_BE_OCCLUDED_CHAR")},
{GFF_ENV_AREA_SUNLIGHT_COLOR_CHAR , _T("ENV_AREA_SUNLIGHT_COLOR_CHAR")},
{GFF_ENV_AREA_SUNLIGHT_DIRECTION  , _T("ENV_AREA_SUNLIGHT_DIRECTION")},
{GFF_ENV_AREA_SUNLIGHT_ENABLED    , _T("ENV_AREA_SUNLIGHT_ENABLED")},
{GFF_ENV_AREA_SUNLIGHT_COLOR      , _T("ENV_AREA_SUNLIGHT_COLOR")},
{GFF_ENV_AREA_SUNLIGHT_COLORMULT  , _T("ENV_AREA_SUNLIGHT_COLORMULT")},

{GFF_TERRAIN_CHUNK				 , _T("TERRAIN_CHUNK")},
{GFF_TERRAIN_CHUNK_LIST           , _T("TERRAIN_CHUNK_LIST")},
{GFF_TERRAIN_CHUNK_CELL_POSITION_X, _T("TERRAIN_CHUNK_CELL_POSITION_X")},
{GFF_TERRAIN_CHUNK_CELL_POSITION_Y, _T("TERRAIN_CHUNK_CELL_POSITION_Y")},
{GFF_TERRAIN_CHUNK_LENGTH         , _T("TERRAIN_CHUNK_LENGTH")},
{GFF_TERRAIN_CHUNK_WIDTH          , _T("TERRAIN_CHUNK_WIDTH")},
{GFF_TERRAIN_CHUNK_TEXEL_SIZE     , _T("TERRAIN_CHUNK_TEXEL_SIZE")},
{GFF_TERRAIN_CHUNK_BLENDPAGE_SIZE , _T("TERRAIN_CHUNK_BLENDPAGE_SIZE")},
{GFF_TERRAIN_CHUNK_SECTOR_ID      , _T("TERRAIN_CHUNK_SECTOR_ID")},
//{GFF_ENV_AREA_SUNLIGHT_ROTATION   , _T("ENV_AREA_SUNLIGHT_ROTATION")},

{GFF_ENV_ROOM_LIGHT_VIS_LIST      , _T("ENV_ROOM_LIGHT_VIS_LIST")},
{GFF_ENV_FOG_COLOR                , _T("ENV_FOG_COLOR")},
{GFF_ENV_FOG_MAX_DISTANCE         , _T("ENV_FOG_MAX_DISTANCE")},
{GFF_ENV_FOG_MAX_INTENSITY        , _T("ENV_FOG_MAX_INTENSITY")},
{GFF_ENV_FOG_ENABLED              , _T("ENV_FOG_ENABLED")},
{GFF_ENV_FOG_MIN_DISTANCE         , _T("ENV_FOG_MIN_DISTANCE")},

{GFF_ENV_MODEL_NAME_CHANGED       , _T("ENV_MODEL_NAME_CHANGED")},

{GFF_ENV_VEGETATION               , _T("ENV_VEGETATION")},
{GFF_ENV_CREATURE                 , _T("ENV_CREATURE")},

{GFF_ENV_CAMERA                   , _T("ENV_CAMERA")},
{GFF_ENV_CAMERA_PIVOTDISTANCE     , _T("ENV_CAMERA_PIVOTDISTANCE")},
{GFF_ENV_STANDALONE               , _T("ENV_STANDALONE")},
{GFF_ENV_LIST_AREA                , _T("ENV_LIST_AREA")},
{GFF_ENV_LIST_ROOM                , _T("ENV_LIST_ROOM")},
{GFF_ENV_LIST_MODEL               , _T("ENV_LIST_MODEL")},
{GFF_ENV_LIST_LIGHT               , _T("ENV_LIST_LIGHT")},

{GFF_ENV_PFCONTAINER_LAYOUTNAME   , _T("ENV_PFCONTAINER_LAYOUTNAME")},
{GFF_ENV_PFCONTAINER_EXPORTDATA   , _T("ENV_PFCONTAINER_EXPORTDATA")},
{GFF_ENV_PFCONTAINER_DATAVERSION  , _T("ENV_PFCONTAINER_DATAVERSION")},
{GFF_ENV_PFCONTAINER_VISINFO      , _T("ENV_PFCONTAINER_VISINFO")},

{GFF_RIMTREE_ROOT_NODE            , _T("RIMTREE_ROOT_NODE")},
{GFF_RIMTREE_RIM_LIST             , _T("RIMTREE_RIM_LIST")},
{GFF_RIMTREE_CHILD_LIST           , _T("RIMTREE_CHILD_LIST")},
{GFF_RIMTREE_NODE_TAG             , _T("RIMTREE_NODE_TAG")},
{GFF_RIMTREE_NODE_RESREF          , _T("RIMTREE_NODE_RESREF")},

{GFF_ENV_GROUP                    , _T("ENV_GROUP")},
{GFF_ENV_GROUP_NAME               , _T("ENV_GROUP_NAME")},

{GFF_ENV_SP_GROUP				 , _T("ENV_SP_GROUP")},
{GFF_ENV_SP_GROUP_NAME			 , _T("ENV_SP_GROUP_NAME")},
{GFF_ENV_SP						 , _T("ENV_SP")},
{GFF_ENV_SP_FILE					 , _T("ENV_SP_FILE")},

{GFF_ENV_OBJECT_VISIBLE           , _T("ENV_OBJECT_VISIBLE")},
{GFF_ENV_OBJECT_LOCKSELECTION     , _T("ENV_OBJECT_LOCKSELECTION")},

{GFF_ENV_MODEL_INSTANCEID         , _T("ENV_MODEL_INSTANCEID")},
{GFF_ENV_MODEL_BOUNDS_CENTER      , _T("ENV_MODEL_BOUNDS_CENTER")},
{GFF_ENV_MODEL_BOUNDS_RADIUS      , _T("ENV_MODEL_BOUNDS_RADIUS")},
{GFF_ENV_MODEL_LIGHTMAP_ATLAS     , _T("ENV_MODEL_LIGHTMAP_ATLAS")},
{GFF_ENV_MODEL_LIGHTMAP_OFFSET_SCALE , _T("ENV_MODEL_LIGHTMAP_OFFSET_SCALE")},
{GFF_ENV_MODEL_LIGHTMAP_PART_ID   , _T("ENV_MODEL_LIGHTMAP_PART_ID")},
{GFF_ENV_MODEL_LIGHTMAP_ATLAS_LIST , _T("ENV_MODEL_LIGHTMAP_ATLAS_LIST")},

{GFF_LVL_LIGHTMAP_SIZE_MULTIPLIER , _T("LVL_LIGHTMAP_SIZE_MULTIPLIER")},

{GFF_LVL_LIGHTMAP_LAST_UPDATED_LIST, _T("LVL_LIGHTMAP_LAST_UPDATED_LIST")},
{GFF_LVL_LIGHTMAP_LAST_UPDATED    , _T("LVL_LIGHTMAP_LAST_UPDATED")},
{GFF_LVL_LIGHTMAP_FILESPEC        , _T("LVL_LIGHTMAP_FILESPEC")},
{GFF_LVL_LIGHTING_VERSION         , _T("LVL_LIGHTING_VERSION")},

{GFF_LVL_AO_COLOR_MIN             , _T("LVL_AO_COLOR_MIN")},
{GFF_LVL_AO_COLOR_MAX             , _T("LVL_AO_COLOR_MAX")},
{GFF_LVL_AO_SAMPLES_MIN           , _T("LVL_AO_SAMPLES_MIN")},
{GFF_LVL_AO_SAMPLES_MAX           , _T("LVL_AO_SAMPLES_MAX")},
{GFF_LVL_AO_ADAPTSAMPLEENABLED    , _T("LVL_AO_ADAPTSAMPLEENABLED")},
{GFF_LVL_AO_ADAPTSAMPLEACCURACY   , _T("LVL_AO_ADAPTSAMPLEACCURACY")},
{GFF_LVL_AO_ADAPTSAMPLESMOOTH     , _T("LVL_AO_ADAPTSAMPLESMOOTH")},
{GFF_LVL_AO_CONEANGLE             , _T("LVL_AO_CONEANGLE")},
{GFF_LVL_AO_MAXRAYLENGTH          , _T("LVL_AO_MAXRAYLENGTH")},
{GFF_LVL_AO_EXPONENT              , _T("LVL_AO_EXPONENT")},

{GFF_ENV_TREE                     , _T("ENV_TREE")},
{GFF_ENV_TREENODE_ID              , _T("ENV_TREENODE_ID")},
{GFF_ENV_TREE_NAME                , _T("ENV_TREE_NAME")},
{GFF_ENV_TREE_FILE                , _T("ENV_TREE_FILE")},
{GFF_ENV_ROOM_TREENODE_LIST       , _T("ENV_ROOM_TREENODE_LIST")},
{GFF_ENV_AREA_TREECONTROLLER_LIST , _T("ENV_AREA_TREECONTROLLER_LIST")},
{GFF_ENV_TREE_SCALE			     , _T("ENV_TREE_SCALE")},
{GFF_ENV_AREA_TREECONTROLLER_ID   , _T("ENV_AREA_TREECONTROLLER_ID")},
{GFF_ENV_TREE_PAINTED_LIST        , _T("ENV_TREE_PAINTED_LIST")},
{GFF_ENV_TREE_PAINTED_POSITION    , _T("ENV_TREE_PAINTED_POSITION")},
{GFF_ENV_TREE_PAINTED_ROTATION    , _T("ENV_TREE_PAINTED_ROTATION")},
{GFF_ENV_TREE_PAINTED_SCALE       , _T("ENV_TREE_PAINTED_SCALE")},
{GFF_ENV_SCATTER_OBJECTS          , _T("ENV_SCATTER_OBJECTS")},
{GFF_ENV_SCATTEROBJECT_FILE       , _T("ENV_SCATTEROBJECT_FILE")},
{GFF_ENV_SCATTER_INSTANCE         , _T("ENV_SCATTER_INSTANCE")},
{GFF_ENV_SCATTER_INSTANCE_LIST    , _T("ENV_SCATTER_INSTANCE_LIST")},
{GFF_ENV_SCATTEROBJECT_LIST       , _T("ENV_SCATTEROBJECT_LIST")},
{GFF_ENV_SCATTEROBJECT_ID         , _T("ENV_SCATTEROBJECT_ID")},
{GFF_ENV_SCATTEROBJ_IGNORE_MAX_DENSITY, _T("ENV_SCATTEROBJ_IGNORE_MAX_DENSITY")},
{GFF_ENV_SCATTEROBJ_MAX_DENSITY   , _T("ENV_SCATTEROBJ_MAX_DENSITY")},
{GFF_ENV_SCATTEROBJ_MIN_SCALE     , _T("ENV_SCATTEROBJ_MIN_SCALE")},
{GFF_ENV_SCATTEROBJ_MAX_SCALE     , _T("ENV_SCATTEROBJ_MAX_SCALE")},
{GFF_ENV_SCATTEROBJ_ORIENT        , _T("ENV_SCATTEROBJ_ORIENT")},
{GFF_ENV_SCATTEROBJ_PROTOTYPE     , _T("ENV_SCATTEROBJ_PROTOTYPE")},
{GFF_ENV_SCATTEROBJ_MSI_DATA      , _T("ENV_SCATTEROBJ_MSI_DATA")},
{GFF_ENV_TREE_COLOR_TINT          , _T("ENV_TREE_COLOR_TINT")},
{GFF_ENV_SCATTEROBJ_SOUND_TYPE    , _T("ENV_SCATTEROBJ_SOUND_TYPE")},
{GFF_ENV_TREE_COLOR_LEVEL_TINT    , _T("ENV_TREE_COLOR_LEVEL_TINT")},
{GFF_ENV_TREE_COLOR_LEVEL_INTENSITY, _T("ENV_TREE_COLOR_LEVEL_INTENSITY")},
{GFF_ENV_TREE_DRAW_DISTANCE       , _T("ENV_TREE_DRAW_DISTANCE")},

{GFF_TERRAIN_EXPORT_AREA          , _T("TERRAIN_EXPORT_AREA")},
{GFF_TERRAIN_EXPORT_AREA_LIST     , _T("TERRAIN_EXPORT_AREA_LIST")},
{GFF_TERRAIN_AREA_CELL_POSITION_X , _T("TERRAIN_AREA_CELL_POSITION_X")},
{GFF_TERRAIN_AREA_CELL_POSITION_Y , _T("TERRAIN_AREA_CELL_POSITION_Y")},
{GFF_TERRAIN_AREA_CELL_POSITION_Z , _T("TERRAIN_AREA_CELL_POSITION_Z")},
{GFF_TERRAIN_AREA_CELL_SIZE_X     , _T("TERRAIN_AREA_CELL_SIZE_X")},
{GFF_TERRAIN_AREA_CELL_SIZE_Y     , _T("TERRAIN_AREA_CELL_SIZE_Y")},
{GFF_TERRAIN_AREA_CELL_SIZE_Z     , _T("TERRAIN_AREA_CELL_SIZE_Z")},
{GFF_TERRAIN_AREA_BORDER_CELL_WIDTH, _T("TERRAIN_AREA_BORDER_CELL_WIDTH")},
{GFF_TERRAIN_AREA_VISTA_CELL_WIDTH, _T("TERRAIN_AREA_VISTA_CELL_WIDTH")},
{GFF_TERRAIN_AREA_LIGHTMAP_SIZE   , _T("TERRAIN_AREA_LIGHTMAP_SIZE")},
{GFF_TERRAIN_AREA_LIGHTMAP_SIZE_VISTA, _T("TERRAIN_AREA_LIGHTMAP_SIZE_VISTA")},
{GFF_TERRAIN_AREA_SUBDIVIDE_BY    , _T("TERRAIN_AREA_SUBDIVIDE_BY")},

{GFF_ENV_MODEL_PARTGROUP          , _T("ENV_MODEL_PARTGROUP")},
{GFF_ENV_MODEL_LIGHTMAPONLY       , _T("ENV_MODEL_LIGHTMAPONLY")},
{GFF_ENV_MODEL_LIGHTMAP_FLAG      , _T("ENV_MODEL_LIGHTMAP_FLAG")},
{GFF_ENV_MODEL_EXPORT_FLAG        , _T("ENV_MODEL_EXPORT_FLAG")},
{GFF_ENV_MODEL_DEFAULT_ANIMATION  , _T("ENV_MODEL_DEFAULT_ANIMATION")},
{GFF_ENV_MODEL_BLEND_TREE_NAME    , _T("ENV_MODEL_BLEND_TREE_NAME")},
{GFF_ENV_MODEL_USER_PARAM_LIST    , _T("ENV_MODEL_USER_PARAM_LIST")},
{GFF_ENV_MODEL_USER_PARAM_NAME    , _T("ENV_MODEL_USER_PARAM_NAME")},
{GFF_ENV_MODEL_USER_PARAM_VALUE   , _T("ENV_MODEL_USER_PARAM_VALUE")},

{GFF_LVL_WATER                    , _T("LVL_WATER")},
{GFF_LVL_WATER_SIZE_X             , _T("LVL_WATER_SIZE_X")},
{GFF_LVL_WATER_SIZE_Y             , _T("LVL_WATER_SIZE_Y")},
{GFF_LVL_WATER_MAX_TESSELLATION    , _T("LVL_WATER_MAX_TESSELLATION")},
{GFF_LVL_WATER_MESH_ID            , _T("LVL_WATER_MESH_ID")},
{GFF_LVL_WATER_NORMAL_MAP         , _T("LVL_WATER_NORMAL_MAP")},
{GFF_LVL_WATER_DEEP_COLOR         , _T("LVL_WATER_DEEP_COLOR")},
{GFF_LVL_WATER_SHALLOW_COLOR      , _T("LVL_WATER_SHALLOW_COLOR")},
{GFF_LVL_WATER_WAVE_FREQ_1        , _T("LVL_WATER_WAVE_FREQ_1")},
{GFF_LVL_WATER_WAVE_AMPL_1        , _T("LVL_WATER_WAVE_AMPL_1")},
{GFF_LVL_WATER_WAVE_DIRECTION_1   , _T("LVL_WATER_WAVE_DIRECTION_1")},
{GFF_LVL_WATER_WAVE_SPEED_1       , _T("LVL_WATER_WAVE_SPEED_1")},
{GFF_LVL_WATER_WAVE_FREQ_2        , _T("LVL_WATER_WAVE_FREQ_2")},
{GFF_LVL_WATER_WAVE_AMPL_2        , _T("LVL_WATER_WAVE_AMPL_2")},
{GFF_LVL_WATER_WAVE_DIRECTION_2   , _T("LVL_WATER_WAVE_DIRECTION_2")},
{GFF_LVL_WATER_WAVE_SPEED_2       , _T("LVL_WATER_WAVE_SPEED_2")},
{GFF_LVL_WATER_WAVE_FREQ_3        , _T("LVL_WATER_WAVE_FREQ_3")},
{GFF_LVL_WATER_WAVE_AMPL_3        , _T("LVL_WATER_WAVE_AMPL_3")},
{GFF_LVL_WATER_WAVE_DIRECTION_3   , _T("LVL_WATER_WAVE_DIRECTION_3")},
{GFF_LVL_WATER_WAVE_SPEED_3       , _T("LVL_WATER_WAVE_SPEED_3")},
{GFF_LVL_WATER_SHALLOW_DEPTH      , _T("LVL_WATER_SHALLOW_DEPTH")},
{GFF_LVL_WATER_WALKABLE_DEPTH     , _T("LVL_WATER_WALKABLE_DEPTH")},
{GFF_LVL_WATER_WALL_HEIGHT        , _T("LVL_WATER_WALL_HEIGHT")},
{GFF_LVL_WATER_OPACITY_FALLOFF    , _T("LVL_WATER_OPACITY_FALLOFF")},
{GFF_LVL_WATER_SUNLIGHT_SPECULAR_POWER   , _T("LVL_WATER_SUNLIGHT_SPECULAR_POWER")},
{GFF_LVL_WATER_SPECULAR_MULTIPLIER       , _T("LVL_WATER_SPECULAR_MULTIPLIER")},
{GFF_LVL_WATER_SPECULAR_FALLOFF          , _T("LVL_WATER_SPECULAR_FALLOFF")},
{GFF_LVL_WATER_COLORIZE_TRANSPARENCY     , _T("LVL_WATER_COLORIZE_TRANSPARENCY")},
{GFF_LVL_WATER_OVERRIDE_REFLECTION       , _T("LVL_WATER_OVERRIDE_REFLECTION")},
{GFF_LVL_WATER_ENABLE_SPEC               , _T("LVL_WATER_ENABLE_SPEC")},


{GFF_LVL_WIND                     , _T("LVL_WIND")},
{GFF_LVL_WIND_ID                  , _T("LVL_WIND_ID")},
{GFF_LVL_WIND_NAME                , _T("LVL_WIND_NAME")},
{GFF_LVL_WIND_ISGLOBAL            , _T("LVL_WIND_ISGLOBAL")},
{GFF_LVL_WIND_REGIONRADIUS        , _T("LVL_WIND_REGIONRADIUS")},
{GFF_LVL_WIND_REGIONFALLOFF       , _T("LVL_WIND_REGIONFALLOFF")},
{GFF_LVL_WIND_SPTSTRENGTH         , _T("LVL_WIND_SPTSTRENGTH")},
{GFF_LVL_WIND_SPTGUST_MINPERCENT  , _T("LVL_WIND_SPTGUST_MINPERCENT")},
{GFF_LVL_WIND_SPTGUST_MAXPERCENT  , _T("LVL_WIND_SPTGUST_MAXPERCENT")},
{GFF_LVL_WIND_SPTGUST_MINDURATION , _T("LVL_WIND_SPTGUST_MINDURATION")},
{GFF_LVL_WIND_SPTGUST_MAXDURATION , _T("LVL_WIND_SPTGUST_MAXDURATION")},
{GFF_LVL_WIND_SPTBENDANGLE        , _T("LVL_WIND_SPTBENDANGLE")},
{GFF_LVL_WIND_CLOTH_RESPONSE      , _T("LVL_WIND_CLOTH_RESPONSE")},
{GFF_LVL_WIND_CLOTH_RESPONSE_LMT  , _T("LVL_WIND_CLOTH_RESPONSE_LMT")},
{GFF_LVL_WIND_CLOTH_STRENGTH      , _T("LVL_WIND_CLOTH_STRENGTH")},
{GFF_LVL_WIND_CLOTH_GUST_STRENGTH_MIN , _T("LVL_WIND_CLOTH_GUST_STRENGTH_MIN")},
{GFF_LVL_WIND_CLOTH_GUST_STRENGTH_MAX , _T("LVL_WIND_CLOTH_GUST_STRENGTH_MAX")},
{GFF_LVL_WIND_CLOTH_GUST_DURATION_MIN , _T("LVL_WIND_CLOTH_GUST_DURATION_MIN")},
{GFF_LVL_WIND_CLOTH_GUST_DURATION_MAX , _T("LVL_WIND_CLOTH_GUST_DURATION_MAX")},
{GFF_LVL_WIND_CLOTH_GUST_INTERVAL_MIN , _T("LVL_WIND_CLOTH_GUST_INTERVAL_MIN")},
{GFF_LVL_WIND_CLOTH_GUST_INTERVAL_MAX , _T("LVL_WIND_CLOTH_GUST_INTERVAL_MAX")},
{GFF_LVL_WIND_CLOTH_GUST_DIR_CHANGE , _T("LVL_WIND_CLOTH_GUST_DIR_CHANGE")},
{GFF_LVL_WIND_CLOTH_GUST_AXIS_RATIO , _T("LVL_WIND_CLOTH_GUST_AXIS_RATIO")},
{GFF_LVL_WIND_SPTGUST_FREQUENCY , _T("LVL_WIND_SPTGUST_FREQUENCY")},


{GFF_LVL_COLLISION_WALL_INFO         , _T("LVL_COLLISION_WALL_INFO")},
{GFF_LVL_COLLISION_WALL_VERTICIES    , _T("LVL_COLLISION_WALL_VERTICIES")},
{GFF_LVL_COLLISION_WALL_VERTICIES_V2 , _T("LVL_COLLISION_WALL_VERTICIES_V2")},

{GFF_LVL_MINIMAP_POSITION_X            , _T("LVL_MINIMAP_POSITION_X")},
{GFF_LVL_MINIMAP_POSITION_Y            , _T("LVL_MINIMAP_POSITION_Y")},
{GFF_LVL_MINIMAP_SIZE_X                , _T("LVL_MINIMAP_SIZE_X")},
{GFF_LVL_MINIMAP_SIZE_Y                , _T("LVL_MINIMAP_SIZE_Y")},

{GFF_ENV_STAT_PHYS                    , _T("ENV_STAT_PHYS")},
{GFF_ENV_STAT_PHYS_DATA               , _T("ENV_STAT_PHYS_DATA")},

{GFF_LVL_LIGHT_SUBSET_LIST             , _T("LVL_LIGHT_SUBSET_LIST")},
{GFF_LVL_LIGHT_SUBSET_ENTRY            , _T("LVL_LIGHT_SUBSET_ENTRY")},
{GFF_LVL_LIGHT_SUBSET_TOTAL_ENTRIES    , _T("LVL_LIGHT_SUBSET_TOTAL_ENTRIES")},

// environment properties range reserved up to 3999

// begin animation range
{GFF_ANIMATION_NODENAME               , _T("ANIMATION_NODENAME")},
{GFF_ANIMATION_TARGET                 , _T("ANIMATION_TARGET")},
{GFF_ANIMATION_SOURCETYPE             , _T("ANIMATION_SOURCETYPE")},
{GFF_ANIMATION_ELEMENTSPERENTRY       , _T("ANIMATION_ELEMENTSPERENTRY")},
{GFF_ANIMATION_NODEDATA               , _T("ANIMATION_NODEDATA")},
{GFF_ANIMATION_NODELIST               , _T("ANIMATION_NODELIST")},
{GFF_ANIMATION_NAME                   , _T("ANIMATION_NAME")},
{GFF_ANIMATION_GENERALANIMNAME        , _T("ANIMATION_GENERALANIMNAME")},
{GFF_ANIMATION_HASGOBANIM             , _T("ANIMATION_HASGOBANIM")},
{GFF_ANIMATION_ANIMLENGTH             , _T("ANIMATION_ANIMLENGTH")},
{GFF_ANIMATION_COMBATRANGE            , _T("ANIMATION_COMBATRANGE")},
{GFF_ANIMATION_ISADDITIVE             , _T("ANIMATION_ISADDITIVE")},
{GFF_ANIMATION_ISOVERRIDE             , _T("ANIMATION_ISOVERRIDE")},
{GFF_ANIMATION_OVERRIDEPRIORITY       , _T("ANIMATION_OVERRIDEPRIORITY")},
{GFF_ANIMATION_NAME_HASH              , _T("ANIMATION_NAME_HASH")},
{GFF_ANIMATION_NODENAME_HASH          , _T("ANIMATION_NODENAME_HASH")},
{GFF_ANIMATION_EVENT_TIME             , _T("ANIMATION_EVENT_TIME")},
{GFF_ANIMATION_EVENT_ID               , _T("ANIMATION_EVENT_ID")},
{GFF_ANIMATION_EVENT_TARGET           , _T("ANIMATION_EVENT_TARGET")},
{GFF_ANIMATION_EVENT_STRING           , _T("ANIMATION_EVENT_STRING")},
{GFF_ANIMATION_EVENT_LIST             , _T("ANIMATION_EVENT_LIST")},
{GFF_ANIMATION_TREE                   , _T("ANIMATION_TREE")},
{GFF_ANIMATION_TREE_NAME              , _T("ANIMATION_TREE_NAME")},
{GFF_ANIMATION_TREE_NODE              , _T("ANIMATION_TREE_NODE")},
{GFF_ANIMATION_TREE_NODE_NAME         , _T("ANIMATION_TREE_NODE_NAME")},
{GFF_ANIMATION_TREE_NODE_FILE         , _T("ANIMATION_TREE_NODE_FILE")},
{GFF_ANIMATION_TREE_NODE_WEIGHT       , _T("ANIMATION_TREE_NODE_WEIGHT")},
{GFF_ANIMATION_TREE_NODE_FLAGS        , _T("ANIMATION_TREE_NODE_FLAGS")},
{GFF_ANIMATION_TREE_NODE_FIRST_CHILD  , _T("ANIMATION_TREE_NODE_FIRST_CHILD")},
{GFF_ANIMATION_TREE_NODE_NUM_CHILDREN , _T("ANIMATION_TREE_NODE_NUM_CHILDREN")},
{GFF_ANIMATION_TREE_NODE_PARENT       , _T("ANIMATION_TREE_NODE_PARENT")},
{GFF_ANIMATION_BLENDCURVE_ANIMFROM    , _T("ANIMATION_BLENDCURVE_ANIMFROM")},
{GFF_ANIMATION_BLENDCURVE_ANIMTO      , _T("ANIMATION_BLENDCURVE_ANIMTO")},
{GFF_ANIMATION_BLENDCURVE_DATA        , _T("ANIMATION_BLENDCURVE_DATA")},
{GFF_ANIMATION_BLENDCURVE_LIST        , _T("ANIMATION_BLENDCURVE_LIST")},
{GFF_ANIMATION_KEY_TIME               , _T("ANIMATION_KEY_TIME")},
{GFF_ANIMATION_KEY_DATA0              , _T("ANIMATION_KEY_DATA0")},
{GFF_ANIMATION_KEY_DATA1              , _T("ANIMATION_KEY_DATA1")},
{GFF_ANIMATION_KEY_DATA2              , _T("ANIMATION_KEY_DATA2")},
{GFF_ANIMATION_KEY_DATA3              , _T("ANIMATION_KEY_DATA3")},
{GFF_ANIMATION_IGNORESCALE            , _T("ANIMATION_IGNORESCALE")},
// animation range reserved up to 4999

// Begin cutscene range

{GFF_CUTSCENE_RUN_TIME               , _T("CUTSCENE_RUN_TIME")},
{GFF_CUTSCENE_END_SCRIPT             , _T("CUTSCENE_END_SCRIPT")},
{GFF_CUTSCENE_LAYOUT                 , _T("CUTSCENE_LAYOUT")},
{GFF_CUTSCENE_POSITION               , _T("CUTSCENE_POSITION")},
{GFF_CUTSCENE_ORIENTATION            , _T("CUTSCENE_ORIENTATION")},
{GFF_CUTSCENE_TRANSITION_TIME        , _T("CUTSCENE_TRANSITION_TIME")},
{GFF_CUTSCENE_FOV                    , _T("CUTSCENE_FOV")},
{GFF_CUTSCENE_BLENDTREE              , _T("CUTSCENE_BLENDTREE")},
{GFF_CUTSCENE_ANIMATIC               , _T("CUTSCENE_ANIMATIC")},
{GFF_CUTSCENE_SHOWAREADYNAMICS       , _T("CUTSCENE_SHOWAREADYNAMICS")},
{GFF_CUTSCENE_STAGED                 , _T("CUTSCENE_STAGED")},
{GFF_CUTSCENE_LOD_CURVES             , _T("CUTSCENE_LOD_CURVES")},
{GFF_CUTSCENE_ANIM_SOUND_EVENTS      , _T("CUTSCENE_ANIM_SOUND_EVENTS")},
{GFF_CUTSCENE_ENABLE_LEVEL_FBES      , _T("CUTSCENE_ENABLE_LEVEL_FBES")},
{GFF_CUTSCENE_LOD_ORIGIN_POS         , _T("CUTSCENE_LOD_ORIGIN_POS")},
{GFF_CUTSCENE_LOD_ORIGIN_ORI         , _T("CUTSCENE_LOD_ORIGIN_ORI")},
{GFF_CUTSCENE_FPS                    , _T("CUTSCENE_FPS")},
{GFF_CUTSCENE_STAGE_RESREF           , _T("CUTSCENE_STAGE_RESREF")},
{GFF_CUTSCENE_PLAY_UNTIL_VO_COMPLETES, _T("CUTSCENE_PLAY_UNTIL_VO_COMPLETES")},
{GFF_CUTSCENE_AREA_REQUIRED          , _T("CUTSCENE_AREA_REQUIRED")},
{GFF_CUTSCENE_SHADOW_RADIUS          , _T("CUTSCENE_SHADOW_RADIUS")},
{GFF_CUTSCENE_LIGHT_OCCLUSION        , _T("CUTSCENE_LIGHT_OCCLUSION")},
// Don't use 5022 - it is used for the streaming blend tree in a branch that will eventually be integrated back

{GFF_CUTSCENE_HENCHMAN_TAG        , _T("CUTSCENE_HENCHMAN_TAG")},
{GFF_CUTSCENE_HENCHMAN_ACTIONS    , _T("CUTSCENE_HENCHMAN_ACTIONS")},

{GFF_CUTSCENE_RESOURCES           , _T("CUTSCENE_RESOURCES")},
{GFF_CUTSCENE_RESOURCE_RESREF     , _T("CUTSCENE_RESOURCE_RESREF")},
{GFF_CUTSCENE_RESOURCE_TYPE       , _T("CUTSCENE_RESOURCE_TYPE")},

{GFF_CUTSCENE_ACTORS                 , _T("CUTSCENE_ACTORS")},
{GFF_CUTSCENE_ACTOR_ID               , _T("CUTSCENE_ACTOR_ID")},
{GFF_CUTSCENE_ACTOR_MODEL_RESREF     , _T("CUTSCENE_ACTOR_MODEL_RESREF")},
{GFF_CUTSCENE_ACTOR_DEPRECATED_1     , _T("CUTSCENE_ACTOR_DEPRECATED_1")},
{GFF_CUTSCENE_ACTOR_DEPRECATED_2     , _T("CUTSCENE_ACTOR_DEPRECATED_2")},
{GFF_CUTSCENE_ACTOR_DEPRECATED_3     , _T("CUTSCENE_ACTOR_DEPRECATED_3")},
{GFF_CUTSCENE_ACTOR_ACTION_QUEUE     , _T("CUTSCENE_ACTOR_ACTION_QUEUE")},
{GFF_CUTSCENE_ACTOR_DEPRECATED_4     , _T("CUTSCENE_ACTOR_DEPRECATED_4")},
{GFF_CUTSCENE_ACTOR_CREATURE_RESREF  , _T("CUTSCENE_ACTOR_CREATURE_RESREF")},
{GFF_CUTSCENE_ACTOR_CAMERA_TARGET    , _T("CUTSCENE_ACTOR_CAMERA_TARGET")},
{GFF_CUTSCENE_ACTOR_USE_POSE         , _T("CUTSCENE_ACTOR_USE_POSE")},
{GFF_CUTSCENE_ACTOR_POSE             , _T("CUTSCENE_ACTOR_POSE")},
{GFF_CUTSCENE_ACTOR_POSE_SPEED       , _T("CUTSCENE_ACTOR_POSE_SPEED")},
{GFF_CUTSCENE_ACTOR_POSE_HUMANOID    , _T("CUTSCENE_ACTOR_POSE_HUMANOID")},
{GFF_CUTSCENE_ACTOR_ORIGIN_POS       , _T("CUTSCENE_ACTOR_ORIGIN_POS")},
{GFF_CUTSCENE_ACTOR_ORIGIN_ORI       , _T("CUTSCENE_ACTOR_ORIGIN_ORI")},
{GFF_CUTSCENE_ACTOR_MAPPING_TAG      , _T("CUTSCENE_ACTOR_MAPPING_TAG")},
{GFF_CUTSCENE_ACTOR_INVENTORY        , _T("CUTSCENE_ACTOR_INVENTORY")},
{GFF_CUTSCENE_ACTOR_TRANSITION_DELAY , _T("CUTSCENE_ACTOR_TRANSITION_DELAY")},
{GFF_CUTSCENE_ACTOR_PREVIOUS_POSE    , _T("CUTSCENE_ACTOR_PREVIOUS_POSE")},
{GFF_CUTSCENE_ACTOR_MAPPING_REQUIRED , _T("CUTSCENE_ACTOR_MAPPING_REQUIRED")},
{GFF_CUTSCENE_ACTOR_FINAL_POS		, _T("CUTSCENE_ACTOR_FINAL_POS")},
{GFF_CUTSCENE_ACTOR_FINAL_ORI		, _T("CUTSCENE_ACTOR_FINAL_ORI")},
{GFF_CUTSCENE_ACTOR_MASTER           , _T("CUTSCENE_ACTOR_MASTER")},
{GFF_CUTSCENE_ACTOR_LOD	            , _T("CUTSCENE_ACTOR_LOD")},
{GFF_CUTSCENE_ACTOR_AMBIENT_ANIM		, _T("CUTSCENE_ACTOR_AMBIENT_ANIM")},
{GFF_CUTSCENE_ACTOR_MODEL_SCALE		, _T("CUTSCENE_ACTOR_MODEL_SCALE")},

{GFF_CUTSCENE_ACTION_TYPE         , _T("CUTSCENE_ACTION_TYPE")},
{GFF_CUTSCENE_ACTION_START_TIME   , _T("CUTSCENE_ACTION_START_TIME")},
{GFF_CUTSCENE_ACTION_STOP_TIME    , _T("CUTSCENE_ACTION_STOP_TIME")},
{GFF_CUTSCENE_ACTION_CURVES       , _T("CUTSCENE_ACTION_CURVES")},
{GFF_CUTSCENE_ACTION_CATEGORY     , _T("CUTSCENE_ACTION_CATEGORY")},

{GFF_CUTSCENE_ACTION_CURVE_BASE_VALUE    , _T("CUTSCENE_ACTION_CURVE_BASE_VALUE")},
{GFF_CUTSCENE_ACTION_CURVE_VERTICES      , _T("CUTSCENE_ACTION_CURVE_VERTICES")},
{GFF_CUTSCENE_ACTION_CURVE_TRANSITIONS   , _T("CUTSCENE_ACTION_CURVE_TRANSITIONS")},
{GFF_CUTSCENE_ACTION_CURVE_DEPRECATED    , _T("CUTSCENE_ACTION_CURVE_DEPRECATED")},

{GFF_CUTSCENE_ACTION_CURVE_VERTEX_TIME   , _T("CUTSCENE_ACTION_CURVE_VERTEX_TIME")},
{GFF_CUTSCENE_ACTION_CURVE_VERTEX_VALUE  , _T("CUTSCENE_ACTION_CURVE_VERTEX_VALUE")},

{GFF_CUTSCENE_ACTION_CURVE_TRANSITION_TYPE       , _T("CUTSCENE_ACTION_CURVE_TRANSITION_TYPE")},
{GFF_CUTSCENE_ACTION_CURVE_TRANSITION_CONTROL_1  , _T("CUTSCENE_ACTION_CURVE_TRANSITION_CONTROL_1")},
{GFF_CUTSCENE_ACTION_CURVE_TRANSITION_CONTROL_2  , _T("CUTSCENE_ACTION_CURVE_TRANSITION_CONTROL_2")},

{GFF_CUTSCENE_ACTION_ANIM_ANIMATION_NAME		        , _T("CUTSCENE_ACTION_ANIM_ANIMATION_NAME")},
{GFF_CUTSCENE_ACTION_ANIM_BLENDTREE_NAME		        , _T("CUTSCENE_ACTION_ANIM_BLENDTREE_NAME")},
{GFF_CUTSCENE_ACTION_ANIM_SPEED				        , _T("CUTSCENE_ACTION_ANIM_SPEED")},
{GFF_CUTSCENE_ACTION_ANIM_START_OFFSET		        , _T("CUTSCENE_ACTION_ANIM_START_OFFSET")},
{GFF_CUTSCENE_ACTION_ANIM_DEPRECATED1		        , _T("CUTSCENE_ACTION_ANIM_DEPRECATED1")},
{GFF_CUTSCENE_ACTION_ANIM_PLAY_GAD	                , _T("CUTSCENE_ACTION_ANIM_PLAY_GAD")},
{GFF_CUTSCENE_ACTION_ANIM_POSE_ANIMATION             , _T("CUTSCENE_ACTION_ANIM_POSE_ANIMATION")},
{GFF_CUTSCENE_ACTION_ANIM_LINK_TO_MOVEMENT           , _T("CUTSCENE_ACTION_ANIM_LINK_TO_MOVEMENT")},
{GFF_CUTSCENE_ACTION_ANIM_GAD_KEYS_POSITION          , _T("CUTSCENE_ACTION_ANIM_GAD_KEYS_POSITION")},
{GFF_CUTSCENE_ACTION_ANIM_GAD_KEYS_ORIENTATION       , _T("CUTSCENE_ACTION_ANIM_GAD_KEYS_ORIENTATION")},
{GFF_CUTSCENE_ACTION_ANIM_BLEND_GAD                  , _T("CUTSCENE_ACTION_ANIM_BLEND_GAD")},
{GFF_CUTSCENE_ACTION_ANIM_EXTEND_GAD                 , _T("CUTSCENE_ACTION_ANIM_EXTEND_GAD")},
{GFF_CUTSCENE_ACTION_ANIM_LINK_TO_MOVEMENT_DISTANCES , _T("CUTSCENE_ACTION_ANIM_LINK_TO_MOVEMENT_DISTANCES")},
{GFF_CUTSCENE_ACTION_ANIM_APPLY_TO_FUTURE_GADS       , _T("CUTSCENE_ACTION_ANIM_APPLY_TO_FUTURE_GADS")},

/* 5480 - 5519 Deprecated - Do not reuse these IDs */

{GFF_CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_FILE_NAME           , _T("CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_FILE_NAME")},
{GFF_CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_EFFECT_NAME         , _T("CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_EFFECT_NAME")},
{GFF_CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_PARAM_LIST          , _T("CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_PARAM_LIST")},
{GFF_CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_PARAM_NAME          , _T("CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_PARAM_NAME")},
{GFF_CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_PARAM_VALUE         , _T("CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_PARAM_VALUE")},
{GFF_CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_PARAM_CURVE_INDEX   , _T("CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_PARAM_CURVE_INDEX")},
{GFF_CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_PARAM_VECTOR_INDEX  , _T("CUTSCENE_ACTION_FRAME_BUFFER_EFFECT_PARAM_VECTOR_INDEX")},

/* 5540 - 5561 Deprecated - Do not reuse these IDs */

{GFF_CUTSCENE_ACTION_SPEAK_LINE_LIPSYNCH_SET     , _T("CUTSCENE_ACTION_SPEAK_LINE_LIPSYNCH_SET")},
{GFF_CUTSCENE_ACTION_SPEAK_LINE_VOBANK           , _T("CUTSCENE_ACTION_SPEAK_LINE_VOBANK")},
{GFF_CUTSCENE_ACTION_SPEAK_LINE_FAHEADMOVEMENT   , _T("CUTSCENE_ACTION_SPEAK_LINE_FAHEADMOVEMENT")},
{GFF_CUTSCENE_ACTION_SPEAK_LINE_NOVOINGAME       , _T("CUTSCENE_ACTION_SPEAK_LINE_NOVOINGAME")},

{GFF_CUTSCENE_ACTION_STAGE_CAMERA_DEFAULT_CAMERA , _T("CUTSCENE_ACTION_STAGE_CAMERA_DEFAULT_CAMERA")},
{GFF_CUTSCENE_ACTION_STAGE_CAMERA_HENCHMAN_CAMERA, _T("CUTSCENE_ACTION_STAGE_CAMERA_HENCHMAN_CAMERA")},

{GFF_CUTSCENE_ACTION_STAGE_PLACE_LOOK_AT         , _T("CUTSCENE_ACTION_STAGE_PLACE_LOOK_AT")},

/* 5590 - 5599 Deprecated - Do not reuse these IDs */

{GFF_CUTSCENE_ACTION_SHAKE_TYPE                  , _T("CUTSCENE_ACTION_SHAKE_TYPE")},
{GFF_CUTSCENE_ACTION_SHAKE_DEPRECATED1           , _T("CUTSCENE_ACTION_SHAKE_DEPRECATED1")},
{GFF_CUTSCENE_ACTION_SHAKE_DEPRECATED2           , _T("CUTSCENE_ACTION_SHAKE_DEPRECATED2")},
{GFF_CUTSCENE_ACTION_SHAKE_NOISE_SEED            , _T("CUTSCENE_ACTION_SHAKE_NOISE_SEED")},
{GFF_CUTSCENE_ACTION_SHAKE_NOISE_FREQUENCY       , _T("CUTSCENE_ACTION_SHAKE_NOISE_FREQUENCY")},
{GFF_CUTSCENE_ACTION_SHAKE_NOISE_TYPE            , _T("CUTSCENE_ACTION_SHAKE_NOISE_TYPE")},
{GFF_CUTSCENE_ACTION_SHAKE_NOISE_CORRELATED      , _T("CUTSCENE_ACTION_SHAKE_NOISE_CORRELATED")},
{GFF_CUTSCENE_ACTION_SHAKE_NOISE_ROUGHNESS       , _T("CUTSCENE_ACTION_SHAKE_NOISE_ROUGHNESS")},
{GFF_CUTSCENE_ACTION_SHAKE_NOISE_RAMP_IN         , _T("CUTSCENE_ACTION_SHAKE_NOISE_RAMP_IN")},
{GFF_CUTSCENE_ACTION_SHAKE_NOISE_RAMP_OUT        , _T("CUTSCENE_ACTION_SHAKE_NOISE_RAMP_OUT")},

{GFF_CUTSCENE_ACTION_ACTIVE_CAMERA_ACTOR_ID      , _T("CUTSCENE_ACTION_ACTIVE_CAMERA_ACTOR_ID")},

{GFF_CUTSCENE_ACTION_HEADTRACKING_TARGET_ID      , _T("CUTSCENE_ACTION_HEADTRACKING_TARGET_ID")},
{GFF_CUTSCENE_ACTION_HEADTRACKING_SPEED          , _T("CUTSCENE_ACTION_HEADTRACKING_SPEED")},
{GFF_CUTSCENE_ACTION_HEADTRACKING_DEPRECATED1    , _T("CUTSCENE_ACTION_HEADTRACKING_DEPRECATED1")},
{GFF_CUTSCENE_ACTION_HEADTRACKING_DEPRECATED2    , _T("CUTSCENE_ACTION_HEADTRACKING_DEPRECATED2")},
{GFF_CUTSCENE_ACTION_HEADTRACKING_DEPRECATED3    , _T("CUTSCENE_ACTION_HEADTRACKING_DEPRECATED3")},
{GFF_CUTSCENE_ACTION_HEADTRACKING_DEPRECATED4    , _T("CUTSCENE_ACTION_HEADTRACKING_DEPRECATED4")},
{GFF_CUTSCENE_ACTION_HEADTRACKING_REALIGN_START  , _T("CUTSCENE_ACTION_HEADTRACKING_REALIGN_START")},
{GFF_CUTSCENE_ACTION_HEADTRACKING_REALIGN_CONT   , _T("CUTSCENE_ACTION_HEADTRACKING_REALIGN_CONT")},

{GFF_CUTSCENE_ACTION_LINK_ACTOR_TARGET_ID		, _T("CUTSCENE_ACTION_LINK_ACTOR_TARGET_ID")},
{GFF_CUTSCENE_ACTION_LINK_ACTOR_NODE_ID			, _T("CUTSCENE_ACTION_LINK_ACTOR_NODE_ID")},
{GFF_CUTSCENE_ACTION_LINK_ACTOR_DEPRECATED1      , _T("CUTSCENE_ACTION_LINK_ACTOR_DEPRECATED1")},
{GFF_CUTSCENE_ACTION_LINK_ACTOR_DEPRECATED2      , _T("CUTSCENE_ACTION_LINK_ACTOR_DEPRECATED2")},
{GFF_CUTSCENE_ACTION_LINK_ACTOR_DEPRECATED3      , _T("CUTSCENE_ACTION_LINK_ACTOR_DEPRECATED3")},
{GFF_CUTSCENE_ACTION_LINK_ACTOR_DEPRECATED4      , _T("CUTSCENE_ACTION_LINK_ACTOR_DEPRECATED4")},
{GFF_CUTSCENE_ACTION_LINK_ACTOR_IS_TARGET_CRUST  , _T("CUTSCENE_ACTION_LINK_ACTOR_IS_TARGET_CRUST")},
{GFF_CUTSCENE_ACTION_LINK_ACTOR_USE_OFFSET       , _T("CUTSCENE_ACTION_LINK_ACTOR_USE_OFFSET")},

{GFF_CUTSCENE_ACTION_APPLYCRUST_TARGET_ID        , _T("CUTSCENE_ACTION_APPLYCRUST_TARGET_ID")},

{GFF_CUTSCENE_ACTION_POSE_ANIMATION_POSE         , _T("CUTSCENE_ACTION_POSE_ANIMATION_POSE")},
{GFF_CUTSCENE_ACTION_POSE_ANIMATION_ANIMATION    , _T("CUTSCENE_ACTION_POSE_ANIMATION_ANIMATION")},
{GFF_CUTSCENE_ACTION_POSE_ANIMATION_LOOPING      , _T("CUTSCENE_ACTION_POSE_ANIMATION_LOOPING")},
{GFF_CUTSCENE_ACTION_POSE_ANIMATION_OUTRO        , _T("CUTSCENE_ACTION_POSE_ANIMATION_OUTRO")},
{GFF_CUTSCENE_ACTION_POSE_ANIMATION_OUTRO_SPEED  , _T("CUTSCENE_ACTION_POSE_ANIMATION_OUTRO_SPEED")},

{GFF_CUTSCENE_ACTION_SOUND_NAME                  , _T("CUTSCENE_ACTION_SOUND_NAME")},
{GFF_CUTSCENE_ACTION_SOUND_SPLINE_PARAM_NO1      , _T("CUTSCENE_ACTION_SOUND_SPLINE_PARAM_NO1")},
{GFF_CUTSCENE_ACTION_SOUND_SPLINE_PARAM_NO2      , _T("CUTSCENE_ACTION_SOUND_SPLINE_PARAM_NO2")},
{GFF_CUTSCENE_ACTION_SOUND_SPLINE_PARAM_NO3      , _T("CUTSCENE_ACTION_SOUND_SPLINE_PARAM_NO3")},
{GFF_CUTSCENE_ACTION_SOUND_SPLINE_PARAM_NO4      , _T("CUTSCENE_ACTION_SOUND_SPLINE_PARAM_NO4")},
{GFF_CUTSCENE_ACTION_SOUND_SPLINE_PARAM_NO5      , _T("CUTSCENE_ACTION_SOUND_SPLINE_PARAM_NO5")},

{GFF_CUTSCENE_ACTION_CHANGEVISIBILITY_VISIBLE    , _T("CUTSCENE_ACTION_CHANGEVISIBILITY_VISIBLE")},

/* 5690 - 5699 Deprecated - Do not reuse these IDs */

{GFF_CUTSCENE_ACTION_TOGGLE_CLOTH_PHYSICS        , _T("CUTSCENE_ACTION_TOGGLE_CLOTH_PHYSICS")},
{GFF_CUTSCENE_ACTION_TOGGLE_HAIR_PHYSICS         , _T("CUTSCENE_ACTION_TOGGLE_HAIR_PHYSICS")},

{GFF_CUTSCENE_ACTION_SET_LOD_DEPRECATED          , _T("CUTSCENE_ACTION_SET_LOD_DEPRECATED")},

{GFF_CUTSCENE_ACTION_DRAW_WEAPON_MAIN            , _T("CUTSCENE_ACTION_DRAW_WEAPON_MAIN")},
{GFF_CUTSCENE_ACTION_DRAW_WEAPON_OFF             , _T("CUTSCENE_ACTION_DRAW_WEAPON_OFF")},

{GFF_CUTSCENE_ACTION_PLAYMOVIE                   , _T("CUTSCENE_ACTION_PLAYMOVIE")},

{GFF_CUTSCENE_ACTION_SETGORE                     , _T("CUTSCENE_ACTION_SETGORE")},

// custscene range reserved up to 5999

// Begin MMH GFF range
{GFF_MMH_NAME                                                        , _T("MMH_NAME")},
{GFF_MMH_MATERIAL_OBJECT                                             , _T("MMH_MATERIAL_OBJECT")},
{GFF_MMH_MATERIAL_LIBRARY                                            , _T("MMH_MATERIAL_LIBRARY")},
{GFF_MMH_RESNAME                                                     , _T("MMH_RESNAME")},
{GFF_MMH_ID                                                          , _T("MMH_ID")},
{GFF_MMH_MODEL_HIERARCHY_MODEL_DATA_NAME                             , _T("MMH_MODEL_HIERARCHY_MODEL_DATA_NAME")},
{GFF_MMH_MESH_GROUP_NAME                                             , _T("MMH_MESH_GROUP_NAME")},
{GFF_MMH_NODE_POINT_LIGHT_COLOR                                      , _T("MMH_NODE_POINT_LIGHT_COLOR")},
{GFF_MMH_NODE_POINT_LIGHT_RADIUS                                     , _T("MMH_NODE_POINT_LIGHT_RADIUS")},
{GFF_MMH_NODE_POINT_LIGHT_IS_STATIC                                  , _T("MMH_NODE_POINT_LIGHT_IS_STATIC")},
{GFF_MMH_NODE_AMBIENT_LIGHT_COLOR                                    , _T("MMH_NODE_AMBIENT_LIGHT_COLOR")},
{GFF_MMH_NODE_EMITTER_BIRTH_RATE                                     , _T("MMH_NODE_EMITTER_BIRTH_RATE")},
{GFF_MMH_NODE_EMITTER_BIRTH_RATE_RANGE                               , _T("MMH_NODE_EMITTER_BIRTH_RATE_RANGE")},
{GFF_MMH_NODE_EMITTER_LIFE                                           , _T("MMH_NODE_EMITTER_LIFE")},
{GFF_MMH_NODE_EMITTER_LIFE_RANGE                                     , _T("MMH_NODE_EMITTER_LIFE_RANGE")},
{GFF_MMH_NODE_EMITTER_SCALE_RANGE                                    , _T("MMH_NODE_EMITTER_SCALE_RANGE")},
{GFF_MMH_NODE_EMITTER_INITIAL_SPEED                                  , _T("MMH_NODE_EMITTER_INITIAL_SPEED")},
{GFF_MMH_NODE_EMITTER_INITIAL_SPEED_RANGE                            , _T("MMH_NODE_EMITTER_INITIAL_SPEED_RANGE")},
{GFF_MMH_NODE_EMITTER_ACCELERATION                                   , _T("MMH_NODE_EMITTER_ACCELERATION")},
{GFF_MMH_NODE_EMITTER_INITIAL_ROTATION_SPEED                         , _T("MMH_NODE_EMITTER_INITIAL_ROTATION_SPEED")},
{GFF_MMH_NODE_EMITTER_INITIAL_ROTATION_SPEED_RANGE                   , _T("MMH_NODE_EMITTER_INITIAL_ROTATION_SPEED_RANGE")},
{GFF_MMH_NODE_EMITTER_ROTATIONAL_ACCELERATION                        , _T("MMH_NODE_EMITTER_ROTATIONAL_ACCELERATION")},
{GFF_MMH_NODE_INV_EMITTER_MOVEMENT_SPREAD_UPDATE_DELAY               , _T("MMH_NODE_INV_EMITTER_MOVEMENT_SPREAD_UPDATE_DELAY")},
{GFF_MMH_NODE_EMITTER_SPAWN_SPREAD_X                                 , _T("MMH_NODE_EMITTER_SPAWN_SPREAD_X")},
{GFF_MMH_NODE_EMITTER_SPAWN_SPREAD_Y                                 , _T("MMH_NODE_EMITTER_SPAWN_SPREAD_Y")},
{GFF_MMH_NODE_EMITTER_MOVEMENT_SPREAD_X                              , _T("MMH_NODE_EMITTER_MOVEMENT_SPREAD_X")},
{GFF_MMH_NODE_EMITTER_MOVEMENT_SPREAD_Y                              , _T("MMH_NODE_EMITTER_MOVEMENT_SPREAD_Y")},
{GFF_MMH_NODE_EMITTER_OPTIONS_BITFLAGS                               , _T("MMH_NODE_EMITTER_OPTIONS_BITFLAGS")},
{GFF_MMH_NODE_EMITTER_OPTIONS_BIRTHRATE_IN_PARTICLES_PER_METER       , _T("MMH_NODE_EMITTER_OPTIONS_BIRTHRATE_IN_PARTICLES_PER_METER")},
{GFF_MMH_NODE_EMITTER_OPTIONS_RANDOM_INITIAL_ROTATION                , _T("MMH_NODE_EMITTER_OPTIONS_RANDOM_INITIAL_ROTATION")},
{GFF_MMH_NODE_EMITTER_OPTIONS_PARTICLES_AFFECTED_BY_WIND             , _T("MMH_NODE_EMITTER_OPTIONS_PARTICLES_AFFECTED_BY_WIND")},
{GFF_MMH_NODE_EMITTER_GRAVITY_MULTIPLIER                             , _T("MMH_NODE_EMITTER_GRAVITY_MULTIPLIER")},
{GFF_MMH_NODE_EMITTER_OPTIONS_PARTICLES_FOLLOW_PATH                  , _T("MMH_NODE_EMITTER_OPTIONS_PARTICLES_FOLLOW_PATH")},
{GFF_MMH_NODE_EMITTER_OPTIONS_LINK_PARTICLES_TOGETHER                , _T("MMH_NODE_EMITTER_OPTIONS_LINK_PARTICLES_TOGETHER")},
{GFF_MMH_NODE_EMITTER_OPTIONS_UPDATE_ONLY_WHEN_VISIBLE               , _T("MMH_NODE_EMITTER_OPTIONS_UPDATE_ONLY_WHEN_VISIBLE")},
{GFF_MMH_NODE_EMITTER_OPTIONS_ENABLE_PARTICLE_COLLISIONS             , _T("MMH_NODE_EMITTER_OPTIONS_ENABLE_PARTICLE_COLLISIONS")},
{GFF_MMH_NODE_EMITTER_OPTIONS_INHERIT_VELOCITY_INSTEAD_OF_POSITION   , _T("MMH_NODE_EMITTER_OPTIONS_INHERIT_VELOCITY_INSTEAD_OF_POSITION")},
{GFF_MMH_NODE_EMITTER_ORIENTATION_BEHAVIOR                           , _T("MMH_NODE_EMITTER_ORIENTATION_BEHAVIOR")},
{GFF_MMH_NODE_EMITTER_PARTICLE_INHERITANCE                           , _T("MMH_NODE_EMITTER_PARTICLE_INHERITANCE")},
{GFF_MMH_NODE_AGE_MAP_COUNT                                          , _T("MMH_NODE_AGE_MAP_COUNT")},
{GFF_MMH_NODE_AGE_MAP_ELEMENT_PERCENT_LIFE_ELAPSED                   , _T("MMH_NODE_AGE_MAP_ELEMENT_PERCENT_LIFE_ELAPSED")},
{GFF_MMH_NODE_AGE_MAP_ELEMENT_SCALE_X                                , _T("MMH_NODE_AGE_MAP_ELEMENT_SCALE_X")},
{GFF_MMH_NODE_AGE_MAP_ELEMENT_SCALE_Y                                , _T("MMH_NODE_AGE_MAP_ELEMENT_SCALE_Y")},
{GFF_MMH_NODE_AGE_MAP_ELEMENT_COLOR                                  , _T("MMH_NODE_AGE_MAP_ELEMENT_COLOR")},
// Age map multiplier values start at ID #6279
{GFF_MMH_NODE_SPAWN_VOLUME_OPTIONS_BITFLAGS                          , _T("MMH_NODE_SPAWN_VOLUME_OPTIONS_BITFLAGS")},
{GFF_MMH_NODE_SPAWN_VOLUME_OPTIONS_SPAWN_WITHIN_VOLUME               , _T("MMH_NODE_SPAWN_VOLUME_OPTIONS_SPAWN_WITHIN_VOLUME")},
{GFF_MMH_NODE_SPAWN_VOLUME_OPTIONS_INVERT_SPAWN_VOLUME_NORMALS       , _T("MMH_NODE_SPAWN_VOLUME_OPTIONS_INVERT_SPAWN_VOLUME_NORMALS")},
{GFF_MMH_TRANSLATION                                                 , _T("MMH_TRANSLATION")},
{GFF_MMH_ROTATION                                                    , _T("MMH_ROTATION")},
{GFF_MMH_ATTRIBUTE_NAME                                              , _T("MMH_ATTRIBUTE_NAME")},
{GFF_MMH_ATTRIBUTE_SOURCE_NAME                                       , _T("MMH_ATTRIBUTE_SOURCE_NAME")},
{GFF_MMH_EXPORT_TAG_NAME                                             , _T("MMH_EXPORT_TAG_NAME")},
{GFF_MMH_EXPORT_EXPORT_NAME                                          , _T("MMH_EXPORT_EXPORT_NAME")},
{GFF_MMH_EXPORT_CONTROLLER_TYPE                                      , _T("MMH_EXPORT_CONTROLLER_TYPE")},
{GFF_MMH_BOUNDING_BOX_MIN                                            , _T("MMH_BOUNDING_BOX_MIN")},
{GFF_MMH_BOUNDING_BOX_MAX                                            , _T("MMH_BOUNDING_BOX_MAX")},
{GFF_MMH_NODE_COLLISION_OBJ_DENSITY                                  , _T("MMH_NODE_COLLISION_OBJ_DENSITY")},
{GFF_MMH_NODE_COLLISION_OBJ_TYPE                                     , _T("MMH_NODE_COLLISION_OBJ_TYPE")},
{GFF_MMH_SHAPE_TYPE                                                  , _T("MMH_SHAPE_TYPE")},
{GFF_MMH_SHAPE_PMAT_NAME                                             , _T("MMH_SHAPE_PMAT_NAME")},
{GFF_MMH_SHAPE_ROTATION                                              , _T("MMH_SHAPE_ROTATION")},
{GFF_MMH_SHAPE_POSITION                                              , _T("MMH_SHAPE_POSITION")},
{GFF_MMH_SHAPE_COLLISION_MASK_BITFLAGS                               , _T("MMH_SHAPE_COLLISION_MASK_BITFLAGS")},
{GFF_MMH_SHAPE_COLLISION_MASK_ALL                                    , _T("MMH_SHAPE_COLLISION_MASK_ALL")},
{GFF_MMH_SHAPE_COLLISION_MASK_NONE                                   , _T("MMH_SHAPE_COLLISION_MASK_NONE")},
{GFF_MMH_SHAPE_COLLISION_MASK_ITEMS                                  , _T("MMH_SHAPE_COLLISION_MASK_ITEMS")},
{GFF_MMH_SHAPE_COLLISION_MASK_CREATURES                              , _T("MMH_SHAPE_COLLISION_MASK_CREATURES")},
{GFF_MMH_SHAPE_COLLISION_MASK_PLACEABLES                             , _T("MMH_SHAPE_COLLISION_MASK_PLACEABLES")},
{GFF_MMH_SHAPE_COLLISION_MASK_TRIGGERS                               , _T("MMH_SHAPE_COLLISION_MASK_TRIGGERS")},
{GFF_MMH_SHAPE_COLLISION_MASK_STATIC_GEOMETRY                        , _T("MMH_SHAPE_COLLISION_MASK_STATIC_GEOMETRY")},
{GFF_MMH_SHAPE_COLLISION_MASK_NONWALKABLE                            , _T("MMH_SHAPE_COLLISION_MASK_NONWALKABLE")},
{GFF_MMH_SHAPE_BOX_DIM                                               , _T("MMH_SHAPE_BOX_DIM")},
{GFF_MMH_SHAPE_RADIUS                                                , _T("MMH_SHAPE_RADIUS")},
{GFF_MMH_SHAPE_HEIGHT                                                , _T("MMH_SHAPE_HEIGHT")},
{GFF_MMH_SHAPE_MESH_SHAPE_FLAGS                                      , _T("MMH_SHAPE_MESH_SHAPE_FLAGS")},
{GFF_MMH_SHAPE_MESH_HEIGHT_FIELD_AXIS                                , _T("MMH_SHAPE_MESH_HEIGHT_FIELD_AXIS")},
{GFF_MMH_SHAPE_MESH_HEIGHT_FIELD_EXTENT                              , _T("MMH_SHAPE_MESH_HEIGHT_FIELD_EXTENT")},
{GFF_MMH_SHAPE_COOKED_DATA_STREAM                                    , _T("MMH_SHAPE_COOKED_DATA_STREAM")},
{GFF_MMH_JOINT_TARGET                                                , _T("MMH_JOINT_TARGET")},
{GFF_MMH_JOINT_TYPE                                                  , _T("MMH_JOINT_TYPE")},
{GFF_MMH_JOINT_TYPE_STRUCT                                           , _T("MMH_JOINT_TYPE_STRUCT")},
{GFF_MMH_JOINT_LOCAL_NORMAL_1                                        , _T("MMH_JOINT_LOCAL_NORMAL_1")},
{GFF_MMH_JOINT_LOCAL_NORMAL_2                                        , _T("MMH_JOINT_LOCAL_NORMAL_2")},
{GFF_MMH_JOINT_LOCAL_ANCHOR_1                                        , _T("MMH_JOINT_LOCAL_ANCHOR_1")},
{GFF_MMH_JOINT_LOCAL_ANCHOR_2                                        , _T("MMH_JOINT_LOCAL_ANCHOR_2")},
{GFF_MMH_JOINT_LOCAL_AXIS_1                                          , _T("MMH_JOINT_LOCAL_AXIS_1")},
{GFF_MMH_JOINT_LOCAL_AXIS_2                                          , _T("MMH_JOINT_LOCAL_AXIS_2")},
{GFF_MMH_JOINT_MAX_FORCE                                             , _T("MMH_JOINT_MAX_FORCE")},
{GFF_MMH_JOINT_MAX_TORQUE                                            , _T("MMH_JOINT_MAX_TORQUE")},
{GFF_MMH_JOINT_COLLISION_ENABLED                                     , _T("MMH_JOINT_COLLISION_ENABLED")},
{GFF_MMH_JOINT_SPHERICAL_SWING_AXIS                                  , _T("MMH_JOINT_SPHERICAL_SWING_AXIS")},
{GFF_MMH_JOINT_SPHERICAL_PROJECTION_DISTANCE                         , _T("MMH_JOINT_SPHERICAL_PROJECTION_DISTANCE")},
{GFF_MMH_JOINT_SPHERICAL_TWIST_LIMIT_LOW                             , _T("MMH_JOINT_SPHERICAL_TWIST_LIMIT_LOW")},
{GFF_MMH_JOINT_SPHERICAL_TWIST_LIMIT_HIGH                            , _T("MMH_JOINT_SPHERICAL_TWIST_LIMIT_HIGH")},
{GFF_MMH_JOINT_SPHERICAL_SWING_LIMIT                                 , _T("MMH_JOINT_SPHERICAL_SWING_LIMIT")},
{GFF_MMH_JOINT_SPHERICAL_TWIST_SWING                                 , _T("MMH_JOINT_SPHERICAL_TWIST_SWING")},
{GFF_MMH_JOINT_SPHERICAL_SWING_SPRING                                , _T("MMH_JOINT_SPHERICAL_SWING_SPRING")},
{GFF_MMH_JOINT_SPHERICAL_JOINT_SPRING                                , _T("MMH_JOINT_SPHERICAL_JOINT_SPRING")},
{GFF_MMH_JOINT_SPHERICAL_PROJECTION_MODE                             , _T("MMH_JOINT_SPHERICAL_PROJECTION_MODE")},
{GFF_MMH_JOINT_SPHERICAL_SPHERE_FLAGS                                , _T("MMH_JOINT_SPHERICAL_SPHERE_FLAGS")},
{GFF_MMH_JOINT_REVOLUTE_LIMIT_LOW                                    , _T("MMH_JOINT_REVOLUTE_LIMIT_LOW")},
{GFF_MMH_JOINT_REVOLUTE_LIMIT_HIGH                                   , _T("MMH_JOINT_REVOLUTE_LIMIT_HIGH")},
{GFF_MMH_JOINT_REVOLUTE_PROJECTION_DISTANCE                          , _T("MMH_JOINT_REVOLUTE_PROJECTION_DISTANCE")},
{GFF_MMH_JOINT_REVOLUTE_PROJECTION_ANGLE                             , _T("MMH_JOINT_REVOLUTE_PROJECTION_ANGLE")},
{GFF_MMH_JOINT_REVOLUTE_PROJECTION_MODE                              , _T("MMH_JOINT_REVOLUTE_PROJECTION_MODE")},
{GFF_MMH_JOINT_REVOLUTE_SPRING                                       , _T("MMH_JOINT_REVOLUTE_SPRING")},
{GFF_MMH_JOINT_REVOLUTE_MOTOR_VEL_TARGET                             , _T("MMH_JOINT_REVOLUTE_MOTOR_VEL_TARGET")},
{GFF_MMH_JOINT_REVOLUTE_MOTOR_MAX_FORCE                              , _T("MMH_JOINT_REVOLUTE_MOTOR_MAX_FORCE")},
{GFF_MMH_JOINT_REVOLUTE_MOTOR_FREE_SPIN                              , _T("MMH_JOINT_REVOLUTE_MOTOR_FREE_SPIN")},
{GFF_MMH_JOINT_REVOLUTE_REVOLUTE_FLAGS                               , _T("MMH_JOINT_REVOLUTE_REVOLUTE_FLAGS")},
{GFF_MMH_JOINT_DISTANCE_MIN_DISTANCE                                 , _T("MMH_JOINT_DISTANCE_MIN_DISTANCE")},
{GFF_MMH_JOINT_DISTANCE_MAX_DISTANCE                                 , _T("MMH_JOINT_DISTANCE_MAX_DISTANCE")},
{GFF_MMH_JOINT_DISTANCE_SPRING                                       , _T("MMH_JOINT_DISTANCE_SPRING")},
{GFF_MMH_JOINT_DISTANCE_DISTANCE_FLAGS                               , _T("MMH_JOINT_DISTANCE_DISTANCE_FLAGS")},
{GFF_MMH_JOINT_PULLEY_PULLEY_1                                       , _T("MMH_JOINT_PULLEY_PULLEY_1")},
{GFF_MMH_JOINT_PULLEY_PULLEY_2                                       , _T("MMH_JOINT_PULLEY_PULLEY_2")},
{GFF_MMH_JOINT_PULLEY_DISTANCE                                       , _T("MMH_JOINT_PULLEY_DISTANCE")},
{GFF_MMH_JOINT_PULLEY_STIFFNESS                                      , _T("MMH_JOINT_PULLEY_STIFFNESS")},
{GFF_MMH_JOINT_PULLEY_RATIO                                          , _T("MMH_JOINT_PULLEY_RATIO")},
{GFF_MMH_JOINT_PULLEY_MOTOR_VEL_TARGET                               , _T("MMH_JOINT_PULLEY_MOTOR_VEL_TARGET")},
{GFF_MMH_JOINT_PULLEY_MOTOR_MAX_FORCE                                , _T("MMH_JOINT_PULLEY_MOTOR_MAX_FORCE")},
{GFF_MMH_JOINT_PULLEY_MOTOR_FREE_SPIN                                , _T("MMH_JOINT_PULLEY_MOTOR_FREE_SPIN")},
{GFF_MMH_JOINT_PULLEY_PULLEY_FLAGS                                   , _T("MMH_JOINT_PULLEY_PULLEY_FLAGS")},
{GFF_MMH_JOINT_6DOF_X_MOTION                                         , _T("MMH_JOINT_6DOF_X_MOTION")},
{GFF_MMH_JOINT_6DOF_Y_MOTION                                         , _T("MMH_JOINT_6DOF_Y_MOTION")},
{GFF_MMH_JOINT_6DOF_Z_MOTION                                         , _T("MMH_JOINT_6DOF_Z_MOTION")},
{GFF_MMH_JOINT_6DOF_SWING_1_MOTION                                   , _T("MMH_JOINT_6DOF_SWING_1_MOTION")},
{GFF_MMH_JOINT_6DOF_SWING_2_MOTION                                   , _T("MMH_JOINT_6DOF_SWING_2_MOTION")},
{GFF_MMH_JOINT_6DOF_TWIST_MOTION                                     , _T("MMH_JOINT_6DOF_TWIST_MOTION")},
{GFF_MMH_JOINT_6DOF_LINEAR_LIMIT                                     , _T("MMH_JOINT_6DOF_LINEAR_LIMIT")},
{GFF_MMH_JOINT_6DOF_SWING_1_LIMIT                                    , _T("MMH_JOINT_6DOF_SWING_1_LIMIT")},
{GFF_MMH_JOINT_6DOF_SWING_2_LIMIT                                    , _T("MMH_JOINT_6DOF_SWING_2_LIMIT")},
{GFF_MMH_JOINT_6DOF_TWIST_LIMIT_LOW                                  , _T("MMH_JOINT_6DOF_TWIST_LIMIT_LOW")},
{GFF_MMH_JOINT_6DOF_TWIST_LIMIT_HIGH                                 , _T("MMH_JOINT_6DOF_TWIST_LIMIT_HIGH")},
{GFF_MMH_JOINT_6DOF_DRIVE_ORIENTATION                                , _T("MMH_JOINT_6DOF_DRIVE_ORIENTATION")},
{GFF_MMH_JOINT_6DOF_DRIVE_X_DRIVE_TYPE                               , _T("MMH_JOINT_6DOF_DRIVE_X_DRIVE_TYPE")},
{GFF_MMH_JOINT_6DOF_DRIVE_X_DRIVE_SPRING                             , _T("MMH_JOINT_6DOF_DRIVE_X_DRIVE_SPRING")},
{GFF_MMH_JOINT_6DOF_DRIVE_X_DRIVE_DAMPING                            , _T("MMH_JOINT_6DOF_DRIVE_X_DRIVE_DAMPING")},
{GFF_MMH_JOINT_6DOF_DRIVE_X_DRIVE_FORCE_LIMIT                        , _T("MMH_JOINT_6DOF_DRIVE_X_DRIVE_FORCE_LIMIT")},
{GFF_MMH_JOINT_6DOF_DRIVE_Y_DRIVE_TYPE                               , _T("MMH_JOINT_6DOF_DRIVE_Y_DRIVE_TYPE")},
{GFF_MMH_JOINT_6DOF_DRIVE_Y_DRIVE_SPRING                             , _T("MMH_JOINT_6DOF_DRIVE_Y_DRIVE_SPRING")},
{GFF_MMH_JOINT_6DOF_DRIVE_Y_DRIVE_DAMPING                            , _T("MMH_JOINT_6DOF_DRIVE_Y_DRIVE_DAMPING")},
{GFF_MMH_JOINT_6DOF_DRIVE_Y_DRIVE_FORCE_LIMIT                        , _T("MMH_JOINT_6DOF_DRIVE_Y_DRIVE_FORCE_LIMIT")},
{GFF_MMH_JOINT_6DOF_DRIVE_Z_DRIVE_TYPE                               , _T("MMH_JOINT_6DOF_DRIVE_Z_DRIVE_TYPE")},
{GFF_MMH_JOINT_6DOF_DRIVE_Z_DRIVE_SPRING                             , _T("MMH_JOINT_6DOF_DRIVE_Z_DRIVE_SPRING")},
{GFF_MMH_JOINT_6DOF_DRIVE_Z_DRIVE_DAMPING                            , _T("MMH_JOINT_6DOF_DRIVE_Z_DRIVE_DAMPING")},
{GFF_MMH_JOINT_6DOF_DRIVE_Z_DRIVE_FORCE_LIMIT                        , _T("MMH_JOINT_6DOF_DRIVE_Z_DRIVE_FORCE_LIMIT")},
{GFF_MMH_JOINT_6DOF_DRIVE_SWING_DRIVE_TYPE                           , _T("MMH_JOINT_6DOF_DRIVE_SWING_DRIVE_TYPE")},
{GFF_MMH_JOINT_6DOF_DRIVE_SWING_DRIVE_SPRING                         , _T("MMH_JOINT_6DOF_DRIVE_SWING_DRIVE_SPRING")},
{GFF_MMH_JOINT_6DOF_DRIVE_SWING_DRIVE_DAMPING                        , _T("MMH_JOINT_6DOF_DRIVE_SWING_DRIVE_DAMPING")},
{GFF_MMH_JOINT_6DOF_DRIVE_SWING_DRIVE_FORCE_LIMIT                    , _T("MMH_JOINT_6DOF_DRIVE_SWING_DRIVE_FORCE_LIMIT")},
{GFF_MMH_JOINT_6DOF_DRIVE_TWIST_DRIVE_TYPE                           , _T("MMH_JOINT_6DOF_DRIVE_TWIST_DRIVE_TYPE")},
{GFF_MMH_JOINT_6DOF_DRIVE_TWIST_DRIVE_SPRING                         , _T("MMH_JOINT_6DOF_DRIVE_TWIST_DRIVE_SPRING")},
{GFF_MMH_JOINT_6DOF_DRIVE_TWIST_DRIVE_DAMPING                        , _T("MMH_JOINT_6DOF_DRIVE_TWIST_DRIVE_DAMPING")},
{GFF_MMH_JOINT_6DOF_DRIVE_TWIST_DRIVE_FORCE_LIMIT                    , _T("MMH_JOINT_6DOF_DRIVE_TWIST_DRIVE_FORCE_LIMIT")},
{GFF_MMH_JOINT_6DOF_DRIVE_SLERP_DRIVE_TYPE                           , _T("MMH_JOINT_6DOF_DRIVE_SLERP_DRIVE_TYPE")},
{GFF_MMH_JOINT_6DOF_DRIVE_SLERP_DRIVE_SPRING                         , _T("MMH_JOINT_6DOF_DRIVE_SLERP_DRIVE_SPRING")},
{GFF_MMH_JOINT_6DOF_DRIVE_SLERP_DRIVE_DAMPING                        , _T("MMH_JOINT_6DOF_DRIVE_SLERP_DRIVE_DAMPING")},
{GFF_MMH_JOINT_6DOF_DRIVE_SLERP_DRIVE_FORCE_LIMIT                    , _T("MMH_JOINT_6DOF_DRIVE_SLERP_DRIVE_FORCE_LIMIT")},
{GFF_MMH_JOINT_6DOF_DRIVE_POSITION                                   , _T("MMH_JOINT_6DOF_DRIVE_POSITION")},
{GFF_MMH_JOINT_6DOF_DRIVE_LINEAR_VELOCITY                            , _T("MMH_JOINT_6DOF_DRIVE_LINEAR_VELOCITY")},
{GFF_MMH_JOINT_6DOF_DRIVE_ANGULAR_VELOCITY                           , _T("MMH_JOINT_6DOF_DRIVE_ANGULAR_VELOCITY")},
{GFF_MMH_JOINT_6DOF_PROJECTION_DISTANCE                              , _T("MMH_JOINT_6DOF_PROJECTION_DISTANCE")},
{GFF_MMH_JOINT_6DOF_PROJECTION_ANGLE                                 , _T("MMH_JOINT_6DOF_PROJECTION_ANGLE")},
{GFF_MMH_JOINT_6DOF_GEAR_RATIO                                       , _T("MMH_JOINT_6DOF_GEAR_RATIO")},
{GFF_MMH_JOINT_6DOF_PROJECTION_MODE                                  , _T("MMH_JOINT_6DOF_PROJECTION_MODE")},
{GFF_MMH_JOINT_6DOF_D6_FLAGS                                         , _T("MMH_JOINT_6DOF_D6_FLAGS")},
{GFF_MMH_DATA_SEMANTIC                                               , _T("MMH_DATA_SEMANTIC")},
{GFF_MMH_DATA_IS_INDEX_STREAM                                        , _T("MMH_DATA_IS_INDEX_STREAM")},
{GFF_MMH_DATA_TYPE                                                   , _T("MMH_DATA_TYPE")},
{GFF_MMH_DATA_BITFLAGS                                               , _T("MMH_DATA_BITFLAGS")},
{GFF_MMH_DATA_LOOPING                                                , _T("MMH_DATA_LOOPING")},
{GFF_MMH_DATA_INSTANCED                                              , _T("MMH_DATA_INSTANCED")},
{GFF_MMH_DATA_COUNT                                                  , _T("MMH_DATA_COUNT")},
{GFF_MMH_DATA_PRIMITIVE_TYPE                                         , _T("MMH_DATA_PRIMITIVE_TYPE")},
{GFF_MMH_DATA_FREQUENCY                                              , _T("MMH_DATA_FREQUENCY")},
{GFF_MMH_MESH_CAST_RUNTIME_SHADOW                                    , _T("MMH_MESH_CAST_RUNTIME_SHADOW")},
{GFF_MMH_MESH_CAST_BAKED_SHADOW                                      , _T("MMH_MESH_CAST_BAKED_SHADOW")},
{GFF_MMH_SHAPE_COLLISION_MASK_EFFECTS								, _T("MMH_SHAPE_COLLISION_MASK_EFFECTS")},
{GFF_MMH_SHAPE_COLLISION_MASK_WAYPOINTS								, _T("MMH_SHAPE_COLLISION_MASK_WAYPOINTS")},
{GFF_MMH_FLIPBOOK_FRAMES_PER_SECOND                                  , _T("MMH_FLIPBOOK_FRAMES_PER_SECOND")},
{GFF_MMH_FLIPBOOK_ROWS                                               , _T("MMH_FLIPBOOK_ROWS")},
{GFF_MMH_FLIPBOOK_COLUMNS                                            , _T("MMH_FLIPBOOK_COLUMNS")},
{GFF_MMH_FLIPBOOK_RANDOM_START_FRAME                                 , _T("MMH_FLIPBOOK_RANDOM_START_FRAME")},
{GFF_MMH_EMITTER_TARGET_NAME                                         , _T("MMH_EMITTER_TARGET_NAME")},
{GFF_MMH_EMITTER_TARGET_ATTRACTION                                   , _T("MMH_EMITTER_TARGET_ATTRACTION")},
{GFF_MMH_EMITTER_TARGET_RADIUS                                       , _T("MMH_EMITTER_TARGET_RADIUS")},
{GFF_MMH_EMITTER_SPAWN_DIRECTION_TRACKS_TARGET                       , _T("MMH_EMITTER_SPAWN_DIRECTION_TRACKS_TARGET")},
{GFF_MMH_EMITTER_KILL_PARTICLE_WHEN_TARGET_HIT                       , _T("MMH_EMITTER_KILL_PARTICLE_WHEN_TARGET_HIT")},
{GFF_MMH_EMITTER_FLIPBOOK_TYPE                                       , _T("MMH_EMITTER_FLIPBOOK_TYPE")},
{GFF_MMH_LIGHTPROBE_IRRADIANCE_COEFFICIENTS_RED                      , _T("MMH_LIGHTPROBE_IRRADIANCE_COEFFICIENTS_RED")},
{GFF_MMH_LIGHTPROBE_IRRADIANCE_COEFFICIENTS_GREEN                    , _T("MMH_LIGHTPROBE_IRRADIANCE_COEFFICIENTS_GREEN")},
{GFF_MMH_LIGHTPROBE_IRRADIANCE_COEFFICIENTS_BLUE                     , _T("MMH_LIGHTPROBE_IRRADIANCE_COEFFICIENTS_BLUE")},
{GFF_MMH_MESH_CUT_AWAY												, _T("MMH_MESH_CUT_AWAY")},
{GFF_MMH_MESH_PUNCH_THROUGH											, _T("MMH_MESH_PUNCH_THROUGH")},
{GFF_MMH_CLOTH_THICKNESS                                             , _T("MMH_CLOTH_THICKNESS")},
{GFF_MMH_CLOTH_DENSITY                                               , _T("MMH_CLOTH_DENSITY")},
{GFF_MMH_CLOTH_BENDING_STIFFNESS                                     , _T("MMH_CLOTH_BENDING_STIFFNESS")},
{GFF_MMH_CLOTH_STRETCHING_STIFFNESS                                  , _T("MMH_CLOTH_STRETCHING_STIFFNESS")},
{GFF_MMH_CLOTH_DAMPING_COEFFICIENT                                   , _T("MMH_CLOTH_DAMPING_COEFFICIENT")},
{GFF_MMH_CLOTH_FRICTION                                              , _T("MMH_CLOTH_FRICTION")},
{GFF_MMH_CLOTH_PRESSURE                                              , _T("MMH_CLOTH_PRESSURE")},
{GFF_MMH_CLOTH_TEAR_FACTOR                                           , _T("MMH_CLOTH_TEAR_FACTOR")},
{GFF_MMH_CLOTH_COLLISION_RESPONSE_COEFFICIENT                        , _T("MMH_CLOTH_COLLISION_RESPONSE_COEFFICIENT")},
{GFF_MMH_CLOTH_ATTACHMENT_RESPONSE_COEFFICIENT                       , _T("MMH_CLOTH_ATTACHMENT_RESPONSE_COEFFICIENT")},
{GFF_MMH_CLOTH_ATTACHMENT_TEAR_FACTOR                                , _T("MMH_CLOTH_ATTACHMENT_TEAR_FACTOR")},
{GFF_MMH_CLOTH_SOLVER_ITERATIONS                                     , _T("MMH_CLOTH_SOLVER_ITERATIONS")},
{GFF_MMH_CLOTH_EXTERNAL_ACCELERATION                                 , _T("MMH_CLOTH_EXTERNAL_ACCELERATION")},
{GFF_MMH_CLOTH_WAKE_UP_COUNTER                                       , _T("MMH_CLOTH_WAKE_UP_COUNTER")},
{GFF_MMH_CLOTH_SLEEP_LINEAR_VELOCITY                                 , _T("MMH_CLOTH_SLEEP_LINEAR_VELOCITY")},
{GFF_MMH_CLOTH_FLAG_BITFLAGS                                         , _T("MMH_CLOTH_FLAG_BITFLAGS")},
{GFF_MMH_CLOTH_FLAG_PRESSURE                                         , _T("MMH_CLOTH_FLAG_PRESSURE")},
{GFF_MMH_CLOTH_FLAG_STATIC                                           , _T("MMH_CLOTH_FLAG_STATIC")},
{GFF_MMH_CLOTH_FLAG_DISABLE_COLLISION                                , _T("MMH_CLOTH_FLAG_DISABLE_COLLISION")},
{GFF_MMH_CLOTH_FLAG_SELFCOLLISION                                    , _T("MMH_CLOTH_FLAG_SELFCOLLISION")},
{GFF_MMH_CLOTH_FLAG_VISUALIZATION                                    , _T("MMH_CLOTH_FLAG_VISUALIZATION")},
{GFF_MMH_CLOTH_FLAG_GRAVITY                                          , _T("MMH_CLOTH_FLAG_GRAVITY")},
{GFF_MMH_CLOTH_FLAG_BENDING                                          , _T("MMH_CLOTH_FLAG_BENDING")},
{GFF_MMH_CLOTH_FLAG_BENDING_ORTHO                                    , _T("MMH_CLOTH_FLAG_BENDING_ORTHO")},
{GFF_MMH_CLOTH_FLAG_DAMPING                                          , _T("MMH_CLOTH_FLAG_DAMPING")},
{GFF_MMH_CLOTH_FLAG_COLLISION_TWOWAY                                 , _T("MMH_CLOTH_FLAG_COLLISION_TWOWAY")},
{GFF_MMH_CLOTH_FLAG_TRIANGLE_COLLISION                               , _T("MMH_CLOTH_FLAG_TRIANGLE_COLLISION")},
{GFF_MMH_CLOTH_FLAG_TEARABLE                                         , _T("MMH_CLOTH_FLAG_TEARABLE")},
{GFF_MMH_CLOTH_FLAG_HARDWARE                                         , _T("MMH_CLOTH_FLAG_HARDWARE")},
{GFF_MMH_CLOTH_FLAG_COMDAMPING                                       , _T("MMH_CLOTH_FLAG_COMDAMPING")},
{GFF_MMH_CLOTH_ATTACHMENT_TYPE                                       , _T("MMH_CLOTH_ATTACHMENT_TYPE")},
{GFF_MMH_CLOTH_ATTACHMENT_FLAG_BITFLAGS                              , _T("MMH_CLOTH_ATTACHMENT_FLAG_BITFLAGS")},
{GFF_MMH_CLOTH_ATTACHMENT_FLAG_TWO_WAY_ATTACHMENT                    , _T("MMH_CLOTH_ATTACHMENT_FLAG_TWO_WAY_ATTACHMENT")},
{GFF_MMH_CLOTH_ATTACHMENT_FLAG_TEARABLE_ATTACHMENT                   , _T("MMH_CLOTH_ATTACHMENT_FLAG_TEARABLE_ATTACHMENT")},
{GFF_MMH_CLOTH_ATTACHMENT_SHAPE_NAME                                 , _T("MMH_CLOTH_ATTACHMENT_SHAPE_NAME")},
{GFF_MMH_CLOTH_ATTACHMENT_VERTEX_ID                                  , _T("MMH_CLOTH_ATTACHMENT_VERTEX_ID")},
{GFF_MMH_CLOTH_ATTACHMENT_LOCAL_POS                                  , _T("MMH_CLOTH_ATTACHMENT_LOCAL_POS")},
{GFF_MMH_CLOTH_COOKED_DATA_STREAM                                    , _T("MMH_CLOTH_COOKED_DATA_STREAM")},
{GFF_MMH_CLOTH_MESH_GROUP_STRUCT                                     , _T("MMH_CLOTH_MESH_GROUP_STRUCT")},
{GFF_MMH_NODE_EMITTER_TYPE                                           , _T("MMH_NODE_EMITTER_TYPE")},
{GFF_MMH_NODE_CRUST_HOOK_ID                                          , _T("MMH_NODE_CRUST_HOOK_ID")},
{GFF_MMH_COLLISION_OBJECT_VOLUME                                     , _T("MMH_COLLISION_OBJECT_VOLUME")},
{GFF_MMH_OBJECT_VOLUME                                               , _T("MMH_OBJECT_VOLUME")},
{GFF_MMH_EXPORT_TAG_VARIABLE_TYPE                                    , _T("MMH_EXPORT_TAG_VARIABLE_TYPE")},
{GFF_MMH_EMITTER_IS_PHYSICS_EMITTER                                  , _T("MMH_EMITTER_IS_PHYSICS_EMITTER")},
{GFF_MMH_SHAPE_VOLUME                                                , _T("MMH_SHAPE_VOLUME")},
{GFF_MMH_SHAPE_NAME                                                  , _T("MMH_SHAPE_NAME")},
{GFF_MMH_SNAP_POSITION                                               , _T("MMH_SNAP_POSITION")},
{GFF_MMH_EMITTER_IS_PHYSICS_OBJECT_SPAWN_EMITTER                     , _T("MMH_EMITTER_IS_PHYSICS_OBJECT_SPAWN_EMITTER")},
{GFF_MMH_SHAPE_ALLOW_EMITTER_SPAWN                                   , _T("MMH_SHAPE_ALLOW_EMITTER_SPAWN")},
{GFF_MMH_COLLISION_GROUP                                             , _T("MMH_COLLISION_GROUP")},
{GFF_MMH_EMITTER_EMITTER_ATTACHMENT_TYPE                             , _T("MMH_EMITTER_EMITTER_ATTACHMENT_TYPE")},
{GFF_MMH_EMITTER_EMITTER_ATTACHMENT_NAME                             , _T("MMH_EMITTER_EMITTER_ATTACHMENT_NAME")},
{GFF_MMH_FACIAL_ANIMATION_BLUEPRINT_NAME                             , _T("MMH_FACIAL_ANIMATION_BLUEPRINT_NAME")},

{GFF_MMH_NODE_POINT_LIGHT_INTENSITY_VARIATION                        , _T("MMH_NODE_POINT_LIGHT_INTENSITY_VARIATION")},
{GFF_MMH_NODE_POINT_LIGHT_INTENSITY_PERIOD                           , _T("MMH_NODE_POINT_LIGHT_INTENSITY_PERIOD")},
{GFF_MMH_NODE_POINT_LIGHT_INTENSITY_PERIOD_DELTA                     , _T("MMH_NODE_POINT_LIGHT_INTENSITY_PERIOD_DELTA")},
{GFF_MMH_SHAPE_FADEABLE                                              , _T("MMH_SHAPE_FADEABLE")},

{GFF_MMH_LIGHTPROBE_IRRADIANCE_RES                                   , _T("MMH_LIGHTPROBE_IRRADIANCE_RES")},

{GFF_MMH_BONE_INDEX                                                  , _T("MMH_BONE_INDEX")},
{GFF_MMH_MESH_BONES_USED                                             , _T("MMH_MESH_BONES_USED")},
{GFF_MMH_TOTAL_BONES                                                 , _T("MMH_TOTAL_BONES")},

{GFF_MMH_CLOTH_WIND_ENABLED                                          , _T("MMH_CLOTH_WIND_ENABLED")},
{GFF_MMH_CLOTH_WIND_SPACE                                            , _T("MMH_CLOTH_WIND_SPACE")},
{GFF_MMH_CLOTH_WIND_DIRECTION                                        , _T("MMH_CLOTH_WIND_DIRECTION")},
{GFF_MMH_CLOTH_WIND_RESPONSE                                         , _T("MMH_CLOTH_WIND_RESPONSE")},
{GFF_MMH_CLOTH_WIND_RESPONSE_LIMIT                                   , _T("MMH_CLOTH_WIND_RESPONSE_LIMIT")},
{CFF_MMH_CLOTH_WIND_STRENGTH                                         , _T("MMH_CLOTH_WIND_STRENGTH")},
{GFF_MMH_CLOTH_WIND_GUST_MIN_STRENGTH                                , _T("MMH_CLOTH_WIND_GUST_MIN_STRENGTH")},
{GFF_MMH_CLOTH_WIND_GUST_MAX_STRENGTH                                , _T("MMH_CLOTH_WIND_GUST_MAX_STRENGTH")},
{GFF_MMH_CLOTH_WIND_GUST_MIN_DURATION                                , _T("MMH_CLOTH_WIND_GUST_MIN_DURATION")},
{GFF_MMH_CLOTH_WIND_GUST_MAX_DURATION                                , _T("MMH_CLOTH_WIND_GUST_MAX_DURATION")},
{GFF_MMH_CLOTH_WIND_GUST_MIN_INTERVAL                                , _T("MMH_CLOTH_WIND_GUST_MIN_INTERVAL")},
{GFF_MMH_CLOTH_WIND_GUST_MAX_INTERVAL                                , _T("MMH_CLOTH_WIND_GUST_MAX_INTERVAL")},
{GFF_MMH_CLOTH_WIND_GUST_DIR_CHANGE                                  , _T("MMH_CLOTH_WIND_GUST_DIR_CHANGE")},
{CFF_MMH_CLOTH_WIND_GUST_AXIS_RATIO                                  , _T("MMH_CLOTH_WIND_GUST_AXIS_RATIO")},
{GFF_MMH_CLOTH_WIND_SPEEDTREE_UPDATE_TIME                            , _T("MMH_CLOTH_WIND_SPEEDTREE_UPDATE_TIME")},
{GFF_MMH_CLOTH_WIND_SPEEDTREE_STRENGTH                               , _T("MMH_CLOTH_WIND_SPEEDTREE_STRENGTH")},
{GFF_MMH_CLOTH_WIND_SPEEDTREE_DIRECTION                              , _T("MMH_CLOTH_WIND_SPEEDTREE_DIRECTION")},

{GFF_MMH_EXPORT_CONTROLLER_INDEX                                     , _T("MMH_EXPORT_CONTROLLER_INDEX")},
{GFF_MMH_TOTAL_EXPORTS                                               , _T("MMH_TOTAL_EXPORTS")},

{GFF_MMH_CLOTH_WIND_SPEEDTREE_PARAMS                                 , _T("MMH_CLOTH_WIND_SPEEDTREE_PARAMS")},

{GFF_MMH_SHAPE_COLLISION_MASK_WATER                                  , _T("MMH_SHAPE_COLLISION_MASK_WATER")},

{GFF_MMH_SCALE                                                       , _T("MMH_SCALE")},

{GFF_MMH_NODE_EMITTER_AGEMAP_COLOR_MULTIPLIER                        , _T("MMH_NODE_EMITTER_AGEMAP_COLOR_MULTIPLIER")},
{GFF_MMH_NODE_EMITTER_AGEMAP_SCALEX_MULTIPLIER                       , _T("MMH_NODE_EMITTER_AGEMAP_SCALEX_MULTIPLIER")},
{GFF_MMH_NODE_EMITTER_AGEMAP_SCALEY_MULTIPLIER                       , _T("MMH_NODE_EMITTER_AGEMAP_SCALEY_MULTIPLIER")},

{GFF_MMH_NODE_EMITTER_OPTIONS_BOUNCINESS                             , _T("MMH_NODE_EMITTER_OPTIONS_BOUNCINESS")},
{GFF_MMH_NODE_EMITTER_OPTIONS_FRICTION                               , _T("MMH_NODE_EMITTER_OPTIONS_FRICTION")},
{GFF_MMH_NODE_EMITTER_MESH_PARTICLE_MODELNAME                        , _T("MMH_NODE_EMITTER_MESH_PARTICLE_MODELNAME")},
{GFF_MMH_NODE_SPAWN_VOLUME_TYPE                                      , _T("MMH_NODE_SPAWN_VOLUME_TYPE")},
{GFF_MMH_NODE_SPAWN_VOLUME_RADIUS                                    , _T("MMH_NODE_SPAWN_VOLUME_RADIUS")},
{GFF_MMH_NODE_SPAWN_VOLUME_CYLINDER_LENGTH                           , _T("MMH_NODE_SPAWN_VOLUME_CYLINDER_LENGTH")},
{GFF_MMH_NODE_SPAWN_VOLUME_CYLINDER_AXIS                             , _T("MMH_NODE_SPAWN_VOLUME_CYLINDER_AXIS")},
{GFF_MMH_NODE_SPAWN_VOLUME_BOX_MIN                                   , _T("MMH_NODE_SPAWN_VOLUME_BOX_MIN")},
{GFF_MMH_NODE_SPAWN_VOLUME_BOX_MAX                                   , _T("MMH_NODE_SPAWN_VOLUME_BOX_MAX")},
{GFF_MMH_NODE_SPAWN_VOLUME_OPTIONS_NORMALS_AS_DIRECTION              , _T("MMH_NODE_SPAWN_VOLUME_OPTIONS_NORMALS_AS_DIRECTION")},

{GFF_MMH_WEAPONTRAIL_SEGMENT_LENGTH                                  , _T("MMH_WEAPONTRAIL_SEGMENT_LENGTH")},
{GFF_MMH_WEAPONTRAIL_DURATION                                        , _T("MMH_WEAPONTRAIL_DURATION")},

{GFF_MMH_NODE_EMITTER_WORLD_AXIS_ACCELERATION                        , _T("MMH_NODE_EMITTER_WORLD_AXIS_ACCELERATION")},

{GFF_MMH_SHAPE_COLLISION_MASK_TERRAIN_WALL                           , _T("MMH_SHAPE_COLLISION_MASK_TERRAIN_WALL")},

{GFF_MMH_NODE_LIGHT_AFFECT_DOMAIN                                    , _T("MMH_NODE_LIGHT_AFFECT_DOMAIN")},
{GFF_MMN_NODE_EMITTER_VERTEX_FORMAT                                  , _T("MMN_NODE_EMITTER_VERTEX_FORMAT")},

{GFF_MMH_NODE_EMITTER_OPTIONS_OBJECT_SPACE_ACCELERATION              , _T("MMH_NODE_EMITTER_OPTIONS_OBJECT_SPACE_ACCELERATION")},
{GFF_MMH_NODE_EMITTER_INITIAL_ROTATION                               , _T("MMH_NODE_EMITTER_INITIAL_ROTATION")},
{GFF_MMH_NODE_EMITTER_INITIAL_ROTATION_RANGE                         , _T("MMH_NODE_EMITTER_INITIAL_ROTATION_RANGE")},

{GFF_MMH_MESH_RECEIVE_BAKED_SHADOW                                   , _T("MMH_MESH_RECEIVE_BAKED_SHADOW")},

{GFF_MMH_NODE_EMITTER_MESH_PARTICLE_UP_AXIS                          , _T("MMH_NODE_EMITTER_MESH_PARTICLE_UP_AXIS")},
{GFF_MMH_NODE_EMITTER_MESH_PARTICLE_ROLL_AXIS                        , _T("MMH_NODE_EMITTER_MESH_PARTICLE_ROLL_AXIS")},

{GFF_MMH_MESH_RECEIVE_RUNTIME_SHADOW                                 , _T("MMH_MESH_RECEIVE_RUNTIME_SHADOW")},
{GFF_MMH_SHAPE_COLLISION_MASK_WALKABLE                               , _T("MMH_SHAPE_COLLISION_MASK_WALKABLE")},

{GFF_MMH_MODEL_MESH_NAME_LIST                                        , _T("MMH_MODEL_MESH_NAME_LIST")},
{GFF_MMH_NODE_MESH_NAME                                              , _T("MMH_NODE_MESH_NAME")},
{GFF_MMH_NODE_EMITTER_UV_DISTRIBUTION_SIZE                           , _T("MMH_NODE_EMITTER_UV_DISTRIBUTION_SIZE")},
{GFF_MMH_NODE_EMITTER_IGNORE_DISTORTION                              , _T("MMH_NODE_EMITTER_IGNORE_DISTORTION")},

{GFF_MMH_NODE_EMITTER_SPLATPARAMS_WIDTH                              , _T("MMH_NODE_EMITTER_SPLATPARAMS_WIDTH")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_HEIGHT                             , _T("MMH_NODE_EMITTER_SPLATPARAMS_HEIGHT")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_NUMSAMPLES_WIDTH                   , _T("MMH_NODE_EMITTER_SPLATPARAMS_NUMSAMPLES_WIDTH")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_NUMSAMPLES_HEIGHT                  , _T("MMH_NODE_EMITTER_SPLATPARAMS_NUMSAMPLES_HEIGHT")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_ORIENTATION_RANGE                  , _T("MMH_NODE_EMITTER_SPLATPARAMS_ORIENTATION_RANGE")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_LIFE                               , _T("MMH_NODE_EMITTER_SPLATPARAMS_LIFE")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_FLIPBOOK_TYPE                      , _T("MMH_NODE_EMITTER_SPLATPARAMS_FLIPBOOK_TYPE")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_FLIPBOOK_FRAMES_PER_SECOND         , _T("MMH_NODE_EMITTER_SPLATPARAMS_FLIPBOOK_FRAMES_PER_SECOND")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_FLIPBOOK_ROWS                      , _T("MMH_NODE_EMITTER_SPLATPARAMS_FLIPBOOK_ROWS")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_FLIPBOOK_COLUMNS                   , _T("MMH_NODE_EMITTER_SPLATPARAMS_FLIPBOOK_COLUMNS")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_FLIPBOOK_RANDOM_START_FRAME        , _T("MMH_NODE_EMITTER_SPLATPARAMS_FLIPBOOK_RANDOM_START_FRAME")},
{GFF_MMH_NODE_EMITTER_CAN_PARTICLES_SPLAT                            , _T("MMH_NODE_EMITTER_CAN_PARTICLES_SPLAT")},
{GFF_MMH_NODE_EMITTER_LOD											, _T("MMH_NODE_EMITTER_LOD")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_MATERIALNAME                       , _T("MMH_NODE_EMITTER_SPLATPARAMS_MATERIALNAME")},

{GFF_MMH_NODE_EMITTER_USER_PARAM_NAME                                , _T("MMH_NODE_EMITTER_USER_PARAM_NAME")},

{GFF_MMH_REMOTE_MATERIAL_DECAL_NAME                                  , _T("MMH_REMOTE_MATERIAL_DECAL_NAME")},
{GFF_MMH_REMOTE_MATERIAL_FRESNEL_FALLOFF                             , _T("MMH_REMOTE_MATERIAL_FRESNEL_FALLOFF")},
{GFF_MMH_REMOTE_MATERIAL_INVERT_FRESNEL                              , _T("MMH_REMOTE_MATERIAL_INVERT_FRESNEL")},

{GFF_MMH_NODE_SOUND_MATERIAL                                         , _T("MMH_NODE_SOUND_MATERIAL")},

{GFF_MMH_REMOTE_MATERIAL_ALPHA                                       , _T("MMH_REMOTE_MATERIAL_ALPHA")},
{GFF_MMH_REMOTE_MATERIAL_TINT                                        , _T("MMH_REMOTE_MATERIAL_TINT")},
{GFF_MMH_EMITTER_PRESIMULATE_TIME                                    , _T("MMH_EMITTER_PRESIMULATE_TIME")},

{GFF_MMH_MESH_IS_VFX_MESH                                            , _T("MMH_MESH_IS_VFX_MESH")},
{GFF_MMH_MESH_MATERIAL_COLOR                                         , _T("MMH_MESH_MATERIAL_COLOR")},

{GFF_MMH_LIGHTPROBE_IRRADIANCE_RED                                   , _T("MMH_LIGHTPROBE_IRRADIANCE_RED")},
{GFF_MMH_LIGHTPROBE_IRRADIANCE_GREEN                                 , _T("MMH_LIGHTPROBE_IRRADIANCE_GREEN")},
{GFF_MMH_LIGHTPROBE_IRRADIANCE_BLUE                                  , _T("MMH_LIGHTPROBE_IRRADIANCE_BLUE")},

{GFF_MMH_LIGHT_CAN_BE_OCCLUDED                                       , _T("MMH_LIGHT_CAN_BE_OCCLUDED")},

{GFF_MMH_USE_VARIATION_TINT                                          , _T("MMH_USE_VARIATION_TINT")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_HOLD_LAST_FRAME                    , _T("MMH_NODE_EMITTER_SPLATPARAMS_HOLD_LAST_FRAME")},
{GFF_MMH_EMITTER_EMITTER_ATTACHMENT_SPAWN_ON_SURFACE                 , _T("MMH_EMITTER_EMITTER_ATTACHMENT_SPAWN_ON_SURFACE")},
{GFF_MMH_EMITTER_EMITTER_ATTACHMENT_USE_NORMAL_FOR_VELOCITY          , _T("MMH_EMITTER_EMITTER_ATTACHMENT_USE_NORMAL_FOR_VELOCITY")},
{GFF_MMH_NODE_EMITTER_SPLATPARAMS_AGEMAP_COLOR_MULTIPLIER            , _T("MMH_NODE_EMITTER_SPLATPARAMS_AGEMAP_COLOR_MULTIPLIER")},

{GFF_MMH_NODE_LIGHT_VERSION                                          , _T("MMH_NODE_LIGHT_VERSION")},

{GFF_MMH_SHAPE_TYPE_STRUCT                                           , _T("MMH_SHAPE_TYPE_STRUCT")},
{GFF_MMH_CHILDREN                                                    , _T("MMH_CHILDREN")},

// MMH GFF range reserved up to 6999

// Begin terrain range
{GFF_TERRAIN_VERSION                 , _T("TERRAIN_VERSION")},
{GFF_TERRAIN_BASE_ROWS               , _T("TERRAIN_BASE_ROWS")},
{GFF_TERRAIN_BASE_COLUMNS            , _T("TERRAIN_BASE_COLUMNS")},
{GFF_TERRAIN_LENGTH_UNITS            , _T("TERRAIN_LENGTH_UNITS")},
{GFF_TERRAIN_WIDTH_UNITS             , _T("TERRAIN_WIDTH_UNITS")},
{GFF_TERRAIN_SECTOR_ROWS             , _T("TERRAIN_SECTOR_ROWS")},
{GFF_TERRAIN_SECTOR_COLUMNS          , _T("TERRAIN_SECTOR_COLUMNS")},
{GFF_TERRAIN_TESSELLATION            , _T("TERRAIN_TESSELLATION")},
{GFF_TERRAIN_SECTOR_ID               , _T("TERRAIN_SECTOR_ID")},
{GFF_TERRAIN_SECTOR_LIST             , _T("TERRAIN_SECTOR_LIST")},
{GFF_TERRAIN_MESHFACE_ID             , _T("TERRAIN_MESHFACE_ID")},
{GFF_TERRAIN_MESHFACE_LIST           , _T("TERRAIN_MESHFACE_LIST")},
{GFF_TERRAIN_MESHEDGE_ID             , _T("TERRAIN_MESHEDGE_ID")},
{GFF_TERRAIN_MESHEDGE_START_VERTEX   , _T("TERRAIN_MESHEDGE_START_VERTEX")},
//{GFF_TERRAIN_MESHEDGE_BOUNDARY_FLAG  , _T("TERRAIN_MESHEDGE_BOUNDARY_FLAG")},
{GFF_TERRAIN_MESHEDGE_SUBEDGE_LIST   , _T("TERRAIN_MESHEDGE_SUBEDGE_LIST")},
{GFF_TERRAIN_MESHEDGE_LIST           , _T("TERRAIN_MESHEDGE_LIST")},
{GFF_TERRAIN_SUBEDGE_ID              , _T("TERRAIN_SUBEDGE_ID")},
{GFF_TERRAIN_MESHVERTEX_ID           , _T("TERRAIN_MESHVERTEX_ID")},
{GFF_TERRAIN_MESHVERTEX_POSITION     , _T("TERRAIN_MESHVERTEX_POSITION")},
{GFF_TERRAIN_MESHVERTEX_LEVEL        , _T("TERRAIN_MESHVERTEX_LEVEL")},
{GFF_TERRAIN_MESHVERTEX_CONSTRAINT_LIST	, _T("TERRAIN_MESHVERTEX_CONSTRAINT_LIST")},
{GFF_TERRAIN_MESHVERTEX_CONSTRAINT_ID	, _T("TERRAIN_MESHVERTEX_CONSTRAINT_ID")},
{GFF_TERRAIN_MESHVERTEX_LIST             , _T("TERRAIN_MESHVERTEX_LIST")},
{GFF_TERRAIN_ELEMENT_ID_VALUE        , _T("TERRAIN_ELEMENT_ID_VALUE")},
{GFF_TERRAIN_ELEMENT_ID_SECTOR       , _T("TERRAIN_ELEMENT_ID_SECTOR")},
{GFF_TERRAIN_MATERIAL_VALUE          , _T("TERRAIN_MATERIAL_VALUE")},
{GFF_TERRAIN_MATERIAL_LIST           , _T("TERRAIN_MATERIAL_LIST")},
{GFF_TERRAIN_AREA_INFORMATION        , _T("TERRAIN_AREA_INFORMATION")},
{GFF_TERRAIN_VERTEX_U                , _T("TERRAIN_VERTEX_U")},
{GFF_TERRAIN_VERTEX_V                , _T("TERRAIN_VERTEX_V")},
//{GFF_TERRAIN_MASK_DATA_WIDTH         , _T("TERRAIN_MASK_DATA_WIDTH")},
//{GFF_TERRAIN_MASK_DATA_HEIGHT        , _T("TERRAIN_MASK_DATA_HEIGHT")},
//{GFF_TERRAIN_MASK_DATA_STRIDE        , _T("TERRAIN_MASK_DATA_STRIDE")},
//{GFF_TERRAIN_MASK_DATA_ARRAY         , _T("TERRAIN_MASK_DATA_ARRAY")},
//{GFF_TERRAIN_VMASK_DATA              , _T("TERRAIN_VMASK_DATA")},
//{GFF_TERRAIN_AMASK_DATA              , _T("TERRAIN_AMASK_DATA")},
{GFF_TERRAIN_MAPVERTEX_ID            , _T("TERRAIN_MAPVERTEX_ID")},
{GFF_TERRAIN_MAPVERTEX_UVW           , _T("TERRAIN_MAPVERTEX_UVW")},
{GFF_TERRAIN_MAPVERTEX_LIST          , _T("TERRAIN_MAPVERTEX_LIST")},
{GFF_TERRAIN_MAPEDGE_ID              , _T("TERRAIN_MAPEDGE_ID")},
{GFF_TERRAIN_MAPEDGE_START_VERTEX    , _T("TERRAIN_MAPEDGE_START_VERTEX")},
{GFF_TERRAIN_MAPEDGE_LIST            , _T("TERRAIN_MAPEDGE_LIST")},
{GFF_TERRAIN_MAPFACE_ID              , _T("TERRAIN_MAPFACE_ID")},
{GFF_TERRAIN_MAPFACE_LAYER           , _T("TERRAIN_MAPFACE_LAYER")},
{GFF_TERRAIN_MAPFACE_LIST            , _T("TERRAIN_MAPFACE_LIST")},
{GFF_TERRAIN_MAPFACE_BLENDPAGE_ID    , _T("TERRAIN_MAPFACE_BLENDPAGE_ID")},
{GFF_TERRAIN_BLENDWEIGHT_MATID       , _T("TERRAIN_BLENDWEIGHT_MATID")},
{GFF_TERRAIN_BLENDWEIGHT_WEIGHT      , _T("TERRAIN_BLENDWEIGHT_WEIGHT")},
{GFF_TERRAIN_BLENDTEXEL_WEIGHTLIST   , _T("TERRAIN_BLENDTEXEL_WEIGHTLIST")},
{GFF_TERRAIN_BLENDPAGE_ID            , _T("TERRAIN_BLENDPAGE_ID")},
{GFF_TERRAIN_BLENDPAGE_WIDTH         , _T("TERRAIN_BLENDPAGE_WIDTH")},
{GFF_TERRAIN_BLENDPAGE_HEIGHT        , _T("TERRAIN_BLENDPAGE_HEIGHT")},
{GFF_TERRAIN_BLENDPAGE_TEXEL_LIST    , _T("TERRAIN_BLENDPAGE_TEXEL_LIST")},
{GFF_TERRAIN_BLENDPAGE_LIST          , _T("TERRAIN_BLENDPAGE_LIST")},
{GFF_TERRAIN_MESH                    , _T("TERRAIN_MESH")},
{GFF_TERRAIN_PALETTE                 , _T("TERRAIN_PALETTE")},
{GFF_TERRAIN_BLENDTEXEL_BYTEWEIGHTLIST , _T("TERRAIN_BLENDTEXEL_BYTEWEIGHTLIST")},
{GFF_TERRAIN_MESH_NAME               , _T("TERRAIN_MESH_NAME")},
{GFF_TERRAIN_PALETTE_NAME            , _T("TERRAIN_PALETTE_NAME")},
{GFF_TERRAIN_MATERIAL                , _T("TERRAIN_MATERIAL")},
{GFF_TERRAIN_MATERIAL_ID             , _T("TERRAIN_MATERIAL_ID")},
{GFF_TERRAIN_MATERIAL_NAME           , _T("TERRAIN_MATERIAL_NAME")},
{GFF_TERRAIN_MATERIAL_SCALE          , _T("TERRAIN_MATERIAL_SCALE")},
{GFF_TERRAIN_MATERIAL_DIFFUSE_NAME   , _T("TERRAIN_MATERIAL_DIFFUSE_NAME")},
{GFF_TERRAIN_MATERIAL_NORMAL_NAME    , _T("TERRAIN_MATERIAL_NORMAL_NAME")},
{GFF_TERRAIN_MATERIAL_SPECUALAR_NAME , _T("TERRAIN_MATERIAL_SPECUALAR_NAME")},
{GFF_TERRAIN_MATERIAL_HEIGHTMAP_NAME , _T("TERRAIN_MATERIAL_HEIGHTMAP_NAME")},
{GFF_TERRAIN_PALETTE_PARALLAX_GLOBAL , _T("TERRAIN_PALETTE_PARALLAX_GLOBAL")},
{GFF_TERRAIN_MATERIAL_RELIEF_SCALE   , _T("TERRAIN_MATERIAL_RELIEF_SCALE")},
{GFF_TERRAIN_BLENDTEXEL_6BYTEWEIGHTLIST , _T("TERRAIN_BLENDTEXEL_6BYTEWEIGHTLIST")},
{GFF_TERRAIN_MESHVERTEX_CONSTRAINT_A	, _T("TERRAIN_MESHVERTEX_CONSTRAINT_A")},
{GFF_TERRAIN_MESHVERTEX_CONSTRAINT_B	, _T("TERRAIN_MESHVERTEX_CONSTRAINT_B")},
{GFF_TERRAIN_MESHEDGE_SUBEDGE_A      , _T("TERRAIN_MESHEDGE_SUBEDGE_A")},
{GFF_TERRAIN_MESHEDGE_SUBEDGE_B      , _T("TERRAIN_MESHEDGE_SUBEDGE_B")},
{GFF_TERRAIN_BLENDTEXEL_ID           , _T("TERRAIN_BLENDTEXEL_ID")},
{GFF_TERRAIN_SOUND_DATA              , _T("TERRAIN_SOUND_DATA")},
{GFF_TERRAIN_MATERIAL_SPECULAR_COLOR , _T("TERRAIN_MATERIAL_SPECULAR_COLOR")},

// Terrain range reserved up to 7899

{GFF_WATER_INFORMATION               , _T("WATER_INFORMATION")},
{GFF_WATER_VERSION                   , _T("WATER_VERSION")},
{GFF_WATER_ID                        , _T("WATER_ID")},
{GFF_WATER_VERTEX_LIST               , _T("WATER_VERTEX_LIST")},
{GFF_WATER_VERTEX_POSITION           , _T("WATER_VERTEX_POSITION")},
{GFF_WATER_VERTEX_NORMAL             , _T("WATER_VERTEX_NORMAL")},
{GFF_WATER_VERTEX_UVW                , _T("WATER_VERTEX_UVW")},
{GFF_WATER_VERTEX_COLOR              , _T("WATER_VERTEX_COLOR")},
{GFF_WATER_VERTEX_INDEX_LIST         , _T("WATER_VERTEX_INDEX_LIST")},

// Water range reserved up to 7999

// Begin mesh range
{GFF_MESH_CHUNK_VERTEXSIZE           , _T("MESH_CHUNK_VERTEXSIZE")},
{GFF_MESH_CHUNK_VERTEXCOUNT          , _T("MESH_CHUNK_VERTEXCOUNT")},
{GFF_MESH_CHUNK_INDEXCOUNT           , _T("MESH_CHUNK_INDEXCOUNT")},
{GFF_MESH_CHUNK_PRIMITIVETYPE        , _T("MESH_CHUNK_PRIMITIVETYPE")},
{GFF_MESH_CHUNK_INDEXFORMAT          , _T("MESH_CHUNK_INDEXFORMAT")},
{GFF_MESH_CHUNK_BASEVERTEXINDEX       , _T("MESH_CHUNK_BASEVERTEXINDEX")},
{GFF_MESH_CHUNK_VERTEXOFFSET         , _T("MESH_CHUNK_VERTEXOFFSET")},
{GFF_MESH_CHUNK_MININDEX             , _T("MESH_CHUNK_MININDEX")},
{GFF_MESH_CHUNK_VERTICESREFERENCED   , _T("MESH_CHUNK_VERTICESREFERENCED")},
{GFF_MESH_CHUNK_STARTINDEX           , _T("MESH_CHUNK_STARTINDEX")},
{GFF_MESH_CHUNK_HASINSTGEOM          , _T("MESH_CHUNK_HASINSTGEOM")},
{GFF_MESH_CHUNK_ADDITIONALSTREAMS    , _T("MESH_CHUNK_ADDITIONALSTREAMS")},
{GFF_MESH_STREAM_VERTEXSIZE          , _T("MESH_STREAM_VERTEXSIZE")},
{GFF_MESH_STREAM_VERTEXCOUNT         , _T("MESH_STREAM_VERTEXCOUNT")},
{GFF_MESH_STREAM_FREQUENCY           , _T("MESH_STREAM_FREQUENCY")},
{GFF_MESH_STREAM_LOOPING             , _T("MESH_STREAM_LOOPING")},
{GFF_MESH_STREAM_INSTANCED           , _T("MESH_STREAM_INSTANCED")},
{GFF_MESH_BOUNDS_BOXMIN              , _T("MESH_BOUNDS_BOXMIN")},
{GFF_MESH_BOUNDS_BOXMAX              , _T("MESH_BOUNDS_BOXMAX")},
{GFF_MESH_BOUNDS_SPHERE              , _T("MESH_BOUNDS_SPHERE")},
{GFF_MESH_CHUNK_BOUNDS               , _T("MESH_CHUNK_BOUNDS")},
{GFF_MESH_CHUNKS                     , _T("MESH_CHUNKS")},
{GFF_MESH_VERTEXDATA                 , _T("MESH_VERTEXDATA")},
{GFF_MESH_INDEXDATA                  , _T("MESH_INDEXDATA")},
{GFF_MESH_STREAM_VERTEXDATA          , _T("MESH_STREAM_VERTEXDATA")},
{GFF_MESH_CHUNK_VERTEXDECLARATOR     , _T("MESH_CHUNK_VERTEXDECLARATOR")},
{GFF_MESH_VERTEXDECLARATOR_STREAM    , _T("MESH_VERTEXDECLARATOR_STREAM")},
{GFF_MESH_VERTEXDECLARATOR_OFFSET    , _T("MESH_VERTEXDECLARATOR_OFFSET")},
{GFF_MESH_VERTEXDECLARATOR_DATATYPE  , _T("MESH_VERTEXDECLARATOR_DATATYPE")},
{GFF_MESH_VERTEXDECLARATOR_USAGE     , _T("MESH_VERTEXDECLARATOR_USAGE")},
{GFF_MESH_VERTEXDECLARATOR_USAGEINDEX , _T("MESH_VERTEXDECLARATOR_USAGEINDEX")},
{GFF_MESH_VERTEXDECLARATOR_METHOD    , _T("MESH_VERTEXDECLARATOR_METHOD")},
{GFF_MESH_INDEXFORMAT                , _T("MESH_INDEXFORMAT")},
{GFF_MESH_INSTANCED_STREAM           , _T("MESH_INSTANCED_STREAM")},
{GFF_MESH_CHUNK_INSTANCES_COUNT      , _T("MESH_CHUNK_INSTANCES_COUNT")},

// mesh range reserved up to 8999

// Begin animation composer range
{GFF_AC_NODE_NAME                    , _T("AC_NODE_NAME")},
{GFF_AC_EDGE_START_ID                , _T("AC_EDGE_START_ID")},
{GFF_AC_EDGE_END_ID                  , _T("AC_EDGE_END_ID")},
{GFF_AC_CAPTION                      , _T("AC_CAPTION")},
{GFF_AC_NODE_SOCKET_LIST             , _T("AC_NODE_SOCKET_LIST")},
{GFF_AC_SOCKET_IS_OUTPUT             , _T("AC_SOCKET_IS_OUTPUT")},
{GFF_AC_NODE_IMAGE                   , _T("AC_NODE_IMAGE")},
{GFF_AC_EDGE_LIST                    , _T("AC_EDGE_LIST")},
{GFF_AC_NODE_LIST                    , _T("AC_NODE_LIST")},
{GFF_AC_NODE_COLOUR                  , _T("AC_NODE_COLOUR")},
{GFF_AC_NODE_ANIMATION               , _T("AC_NODE_ANIMATION")},
{GFF_AC_CURVE_CONTROL_POINT_LIST     , _T("AC_CURVE_CONTROL_POINT_LIST")},
{GFF_AC_CURVE_CONTROL_POINT_TIME     , _T("AC_CURVE_CONTROL_POINT_TIME")},
{GFF_AC_CURVE_CONTROL_POINT_VALUE    , _T("AC_CURVE_CONTROL_POINT_VALUE")},
{GFF_AC_MODEL_NAME                   , _T("AC_MODEL_NAME")},
{GFF_AC_EVENT_LIST                   , _T("AC_EVENT_LIST")},
{GFF_AC_EVENT_TIME                   , _T("AC_EVENT_TIME")},
{GFF_AC_EVENT_ID                     , _T("AC_EVENT_ID")},
{GFF_AC_NODE_LOOPING                 , _T("AC_NODE_LOOPING")},
{GFF_AC_FLAGS                        , _T("AC_FLAGS")},
{GFF_AC_TRANS_ANIM_NAME              , _T("AC_TRANS_ANIM_NAME")},
{GFF_AC_TRANS_ANIM_START             , _T("AC_TRANS_ANIM_START")},
{GFF_AC_TRANS_ANIM_LENGTH            , _T("AC_TRANS_ANIM_LENGTH")},
{GFF_AC_TRANS_TRACK_LIST             , _T("AC_TRANS_TRACK_LIST")},
{GFF_AC_TRANSITION_LIST              , _T("AC_TRANSITION_LIST")},
{GFF_AC_TRANS_LENGTH                 , _T("AC_TRANS_LENGTH")},

{GFF_AC_BLENDGROUP_ANIM_LIST         , _T("AC_BLENDGROUP_ANIM_LIST")},
{GFF_AC_BLEND_GROUP_LIST             , _T("AC_BLEND_GROUP_LIST")},
{GFF_AC_BLENDGROUP_NAME              , _T("AC_BLENDGROUP_NAME")},

// animation composer range reserved up to 9999

// Binary GFF definitions (G2DA/.GDA files)
{GFF_G2DA_COLUMN_NAME                , _T("G2DA_COLUMN_NAME")},
{GFF_G2DA_COLUMN_HASH                , _T("G2DA_COLUMN_HASH")},
{GFF_G2DA_COLUMN_LIST                , _T("G2DA_COLUMN_LIST")},
{GFF_G2DA_ROW_LIST                   , _T("G2DA_ROW_LIST")},
{GFF_G2DA_ROW_DATA                   , _T("G2DA_ROW_DATA")},

{GFF_G2DA_COLUMN_1                   , _T("G2DA_COLUMN_1")},
{GFF_G2DA_COLUMN_2                   , _T("G2DA_COLUMN_2")},
{GFF_G2DA_COLUMN_3                   , _T("G2DA_COLUMN_3")},
{GFF_G2DA_COLUMN_4                   , _T("G2DA_COLUMN_4")},
{GFF_G2DA_COLUMN_5                   , _T("G2DA_COLUMN_5")},
{GFF_G2DA_COLUMN_6                   , _T("G2DA_COLUMN_6")},
{GFF_G2DA_COLUMN_7                   , _T("G2DA_COLUMN_7")},
{GFF_G2DA_COLUMN_8                   , _T("G2DA_COLUMN_8")},
{GFF_G2DA_COLUMN_9                   , _T("G2DA_COLUMN_9")},
{GFF_G2DA_COLUMN_10                  , _T("G2DA_COLUMN_10")},
{GFF_G2DA_COLUMN_11                  , _T("G2DA_COLUMN_11")},
{GFF_G2DA_COLUMN_12                  , _T("G2DA_COLUMN_12")},
{GFF_G2DA_COLUMN_13                  , _T("G2DA_COLUMN_13")},
{GFF_G2DA_COLUMN_14                  , _T("G2DA_COLUMN_14")},
{GFF_G2DA_COLUMN_15                  , _T("G2DA_COLUMN_15")},
{GFF_G2DA_COLUMN_16                  , _T("G2DA_COLUMN_16")},
{GFF_G2DA_COLUMN_17                  , _T("G2DA_COLUMN_17")},
{GFF_G2DA_COLUMN_18                  , _T("G2DA_COLUMN_18")},
{GFF_G2DA_COLUMN_19                  , _T("G2DA_COLUMN_19")},
{GFF_G2DA_COLUMN_20                  , _T("G2DA_COLUMN_20")},
{GFF_G2DA_COLUMN_21                  , _T("G2DA_COLUMN_21")},
{GFF_G2DA_COLUMN_22                  , _T("G2DA_COLUMN_22")},
{GFF_G2DA_COLUMN_23                  , _T("G2DA_COLUMN_23")},
{GFF_G2DA_COLUMN_24                  , _T("G2DA_COLUMN_24")},
{GFF_G2DA_COLUMN_25                  , _T("G2DA_COLUMN_25")},
{GFF_G2DA_COLUMN_26                  , _T("G2DA_COLUMN_26")},
{GFF_G2DA_COLUMN_27                  , _T("G2DA_COLUMN_27")},
{GFF_G2DA_COLUMN_28                  , _T("G2DA_COLUMN_28")},
{GFF_G2DA_COLUMN_29                  , _T("G2DA_COLUMN_29")},
{GFF_G2DA_COLUMN_30                  , _T("G2DA_COLUMN_30")},
{GFF_G2DA_COLUMN_31                  , _T("G2DA_COLUMN_31")},
{GFF_G2DA_COLUMN_32                  , _T("G2DA_COLUMN_32")},
{GFF_G2DA_COLUMN_33                  , _T("G2DA_COLUMN_33")},
{GFF_G2DA_COLUMN_34                  , _T("G2DA_COLUMN_34")},
{GFF_G2DA_COLUMN_35                  , _T("G2DA_COLUMN_35")},
{GFF_G2DA_COLUMN_36                  , _T("G2DA_COLUMN_36")},
{GFF_G2DA_COLUMN_37                  , _T("G2DA_COLUMN_37")},
{GFF_G2DA_COLUMN_38                  , _T("G2DA_COLUMN_38")},
{GFF_G2DA_COLUMN_39                  , _T("G2DA_COLUMN_39")},
{GFF_G2DA_COLUMN_40                  , _T("G2DA_COLUMN_40")},
{GFF_G2DA_COLUMN_41                  , _T("G2DA_COLUMN_41")},
{GFF_G2DA_COLUMN_42                  , _T("G2DA_COLUMN_42")},
{GFF_G2DA_COLUMN_43                  , _T("G2DA_COLUMN_43")},
{GFF_G2DA_COLUMN_44                  , _T("G2DA_COLUMN_44")},
{GFF_G2DA_COLUMN_45                  , _T("G2DA_COLUMN_45")},
{GFF_G2DA_COLUMN_46                  , _T("G2DA_COLUMN_46")},
{GFF_G2DA_COLUMN_47                  , _T("G2DA_COLUMN_47")},
{GFF_G2DA_COLUMN_48                  , _T("G2DA_COLUMN_48")},
{GFF_G2DA_COLUMN_49                  , _T("G2DA_COLUMN_49")},
{GFF_G2DA_COLUMN_50                  , _T("G2DA_COLUMN_50")},
{GFF_G2DA_COLUMN_51                  , _T("G2DA_COLUMN_51")},
{GFF_G2DA_COLUMN_52                  , _T("G2DA_COLUMN_52")},
{GFF_G2DA_COLUMN_53                  , _T("G2DA_COLUMN_53")},
{GFF_G2DA_COLUMN_54                  , _T("G2DA_COLUMN_54")},
{GFF_G2DA_COLUMN_55                  , _T("G2DA_COLUMN_55")},
{GFF_G2DA_COLUMN_56                  , _T("G2DA_COLUMN_56")},
{GFF_G2DA_COLUMN_57                  , _T("G2DA_COLUMN_57")},
{GFF_G2DA_COLUMN_58                  , _T("G2DA_COLUMN_58")},
{GFF_G2DA_COLUMN_59                  , _T("G2DA_COLUMN_59")},
{GFF_G2DA_COLUMN_60                  , _T("G2DA_COLUMN_60")},
{GFF_G2DA_COLUMN_61                  , _T("G2DA_COLUMN_61")},
{GFF_G2DA_COLUMN_62                  , _T("G2DA_COLUMN_62")},
{GFF_G2DA_COLUMN_63                  , _T("G2DA_COLUMN_63")},
{GFF_G2DA_COLUMN_64                  , _T("G2DA_COLUMN_64")},
{GFF_G2DA_COLUMN_65                  , _T("G2DA_COLUMN_65")},
{GFF_G2DA_COLUMN_66                  , _T("G2DA_COLUMN_66")},
{GFF_G2DA_COLUMN_67                  , _T("G2DA_COLUMN_67")},
{GFF_G2DA_COLUMN_68                  , _T("G2DA_COLUMN_68")},
{GFF_G2DA_COLUMN_69                  , _T("G2DA_COLUMN_69")},
{GFF_G2DA_COLUMN_70                  , _T("G2DA_COLUMN_70")},
{GFF_G2DA_COLUMN_71                  , _T("G2DA_COLUMN_71")},
{GFF_G2DA_COLUMN_72                  , _T("G2DA_COLUMN_72")},
{GFF_G2DA_COLUMN_73                  , _T("G2DA_COLUMN_73")},
{GFF_G2DA_COLUMN_74                  , _T("G2DA_COLUMN_74")},
{GFF_G2DA_COLUMN_75                  , _T("G2DA_COLUMN_75")},
{GFF_G2DA_COLUMN_76                  , _T("G2DA_COLUMN_76")},
{GFF_G2DA_COLUMN_77                  , _T("G2DA_COLUMN_77")},
{GFF_G2DA_COLUMN_78                  , _T("G2DA_COLUMN_78")},
{GFF_G2DA_COLUMN_79                  , _T("G2DA_COLUMN_79")},
{GFF_G2DA_COLUMN_80                  , _T("G2DA_COLUMN_80")},
{GFF_G2DA_COLUMN_81                  , _T("G2DA_COLUMN_81")},
{GFF_G2DA_COLUMN_82                  , _T("G2DA_COLUMN_82")},
{GFF_G2DA_COLUMN_83                  , _T("G2DA_COLUMN_83")},
{GFF_G2DA_COLUMN_84                  , _T("G2DA_COLUMN_84")},
{GFF_G2DA_COLUMN_85                  , _T("G2DA_COLUMN_85")},
{GFF_G2DA_COLUMN_86                  , _T("G2DA_COLUMN_86")},
{GFF_G2DA_COLUMN_87                  , _T("G2DA_COLUMN_87")},
{GFF_G2DA_COLUMN_88                  , _T("G2DA_COLUMN_88")},
{GFF_G2DA_COLUMN_89                  , _T("G2DA_COLUMN_89")},
{GFF_G2DA_COLUMN_90                  , _T("G2DA_COLUMN_90")},
{GFF_G2DA_COLUMN_91                  , _T("G2DA_COLUMN_91")},
{GFF_G2DA_COLUMN_92                  , _T("G2DA_COLUMN_92")},
{GFF_G2DA_COLUMN_93                  , _T("G2DA_COLUMN_93")},
{GFF_G2DA_COLUMN_94                  , _T("G2DA_COLUMN_94")},
{GFF_G2DA_COLUMN_95                  , _T("G2DA_COLUMN_95")},
{GFF_G2DA_COLUMN_96                  , _T("G2DA_COLUMN_96")},
{GFF_G2DA_COLUMN_97                  , _T("G2DA_COLUMN_97")},
{GFF_G2DA_COLUMN_98                  , _T("G2DA_COLUMN_98")},
{GFF_G2DA_COLUMN_99                  , _T("G2DA_COLUMN_99")},

{GFF_G2DA_COLUMN_100                 , _T("G2DA_COLUMN_100")},
{GFF_G2DA_COLUMN_101                 , _T("G2DA_COLUMN_101")},
{GFF_G2DA_COLUMN_102                 , _T("G2DA_COLUMN_102")},
{GFF_G2DA_COLUMN_103                 , _T("G2DA_COLUMN_103")},
{GFF_G2DA_COLUMN_104                 , _T("G2DA_COLUMN_104")},
{GFF_G2DA_COLUMN_105                 , _T("G2DA_COLUMN_105")},
{GFF_G2DA_COLUMN_106                 , _T("G2DA_COLUMN_106")},
{GFF_G2DA_COLUMN_107                 , _T("G2DA_COLUMN_107")},
{GFF_G2DA_COLUMN_108                 , _T("G2DA_COLUMN_108")},
{GFF_G2DA_COLUMN_109                 , _T("G2DA_COLUMN_109")},
{GFF_G2DA_COLUMN_110                 , _T("G2DA_COLUMN_110")},
{GFF_G2DA_COLUMN_111                 , _T("G2DA_COLUMN_111")},
{GFF_G2DA_COLUMN_112                 , _T("G2DA_COLUMN_112")},
{GFF_G2DA_COLUMN_113                 , _T("G2DA_COLUMN_113")},
{GFF_G2DA_COLUMN_114                 , _T("G2DA_COLUMN_114")},
{GFF_G2DA_COLUMN_115                 , _T("G2DA_COLUMN_115")},
{GFF_G2DA_COLUMN_116                 , _T("G2DA_COLUMN_116")},
{GFF_G2DA_COLUMN_117                 , _T("G2DA_COLUMN_117")},
{GFF_G2DA_COLUMN_118                 , _T("G2DA_COLUMN_118")},
{GFF_G2DA_COLUMN_119                 , _T("G2DA_COLUMN_119")},
{GFF_G2DA_COLUMN_120                 , _T("G2DA_COLUMN_120")},
{GFF_G2DA_COLUMN_121                 , _T("G2DA_COLUMN_121")},
{GFF_G2DA_COLUMN_122                 , _T("G2DA_COLUMN_122")},
{GFF_G2DA_COLUMN_123                 , _T("G2DA_COLUMN_123")},
{GFF_G2DA_COLUMN_124                 , _T("G2DA_COLUMN_124")},
{GFF_G2DA_COLUMN_125                 , _T("G2DA_COLUMN_125")},
{GFF_G2DA_COLUMN_126                 , _T("G2DA_COLUMN_126")},
{GFF_G2DA_COLUMN_127                 , _T("G2DA_COLUMN_127")},
{GFF_G2DA_COLUMN_128                 , _T("G2DA_COLUMN_128")},
{GFF_G2DA_COLUMN_129                 , _T("G2DA_COLUMN_129")},
{GFF_G2DA_COLUMN_130                 , _T("G2DA_COLUMN_130")},
{GFF_G2DA_COLUMN_131                 , _T("G2DA_COLUMN_131")},
{GFF_G2DA_COLUMN_132                 , _T("G2DA_COLUMN_132")},
{GFF_G2DA_COLUMN_133                 , _T("G2DA_COLUMN_133")},
{GFF_G2DA_COLUMN_134                 , _T("G2DA_COLUMN_134")},
{GFF_G2DA_COLUMN_135                 , _T("G2DA_COLUMN_135")},
{GFF_G2DA_COLUMN_136                 , _T("G2DA_COLUMN_136")},
{GFF_G2DA_COLUMN_137                 , _T("G2DA_COLUMN_137")},
{GFF_G2DA_COLUMN_138                 , _T("G2DA_COLUMN_138")},
{GFF_G2DA_COLUMN_139                 , _T("G2DA_COLUMN_139")},
{GFF_G2DA_COLUMN_140                 , _T("G2DA_COLUMN_140")},
{GFF_G2DA_COLUMN_141                 , _T("G2DA_COLUMN_141")},
{GFF_G2DA_COLUMN_142                 , _T("G2DA_COLUMN_142")},
{GFF_G2DA_COLUMN_143                 , _T("G2DA_COLUMN_143")},
{GFF_G2DA_COLUMN_144                 , _T("G2DA_COLUMN_144")},
{GFF_G2DA_COLUMN_145                 , _T("G2DA_COLUMN_145")},
{GFF_G2DA_COLUMN_146                 , _T("G2DA_COLUMN_146")},
{GFF_G2DA_COLUMN_147                 , _T("G2DA_COLUMN_147")},
{GFF_G2DA_COLUMN_148                 , _T("G2DA_COLUMN_148")},
{GFF_G2DA_COLUMN_149                 , _T("G2DA_COLUMN_149")},
{GFF_G2DA_COLUMN_150                 , _T("G2DA_COLUMN_150")},
{GFF_G2DA_COLUMN_151                 , _T("G2DA_COLUMN_151")},
{GFF_G2DA_COLUMN_152                 , _T("G2DA_COLUMN_152")},
{GFF_G2DA_COLUMN_153                 , _T("G2DA_COLUMN_153")},
{GFF_G2DA_COLUMN_154                 , _T("G2DA_COLUMN_154")},
{GFF_G2DA_COLUMN_155                 , _T("G2DA_COLUMN_155")},
{GFF_G2DA_COLUMN_156                 , _T("G2DA_COLUMN_156")},
{GFF_G2DA_COLUMN_157                 , _T("G2DA_COLUMN_157")},
{GFF_G2DA_COLUMN_158                 , _T("G2DA_COLUMN_158")},
{GFF_G2DA_COLUMN_159                 , _T("G2DA_COLUMN_159")},
{GFF_G2DA_COLUMN_160                 , _T("G2DA_COLUMN_160")},
{GFF_G2DA_COLUMN_161                 , _T("G2DA_COLUMN_161")},
{GFF_G2DA_COLUMN_162                 , _T("G2DA_COLUMN_162")},
{GFF_G2DA_COLUMN_163                 , _T("G2DA_COLUMN_163")},
{GFF_G2DA_COLUMN_164                 , _T("G2DA_COLUMN_164")},
{GFF_G2DA_COLUMN_165                 , _T("G2DA_COLUMN_165")},
{GFF_G2DA_COLUMN_166                 , _T("G2DA_COLUMN_166")},
{GFF_G2DA_COLUMN_167                 , _T("G2DA_COLUMN_167")},
{GFF_G2DA_COLUMN_168                 , _T("G2DA_COLUMN_168")},
{GFF_G2DA_COLUMN_169                 , _T("G2DA_COLUMN_169")},
{GFF_G2DA_COLUMN_170                 , _T("G2DA_COLUMN_170")},
{GFF_G2DA_COLUMN_171                 , _T("G2DA_COLUMN_171")},
{GFF_G2DA_COLUMN_172                 , _T("G2DA_COLUMN_172")},
{GFF_G2DA_COLUMN_173                 , _T("G2DA_COLUMN_173")},
{GFF_G2DA_COLUMN_174                 , _T("G2DA_COLUMN_174")},
{GFF_G2DA_COLUMN_175                 , _T("G2DA_COLUMN_175")},
{GFF_G2DA_COLUMN_176                 , _T("G2DA_COLUMN_176")},
{GFF_G2DA_COLUMN_177                 , _T("G2DA_COLUMN_177")},
{GFF_G2DA_COLUMN_178                 , _T("G2DA_COLUMN_178")},
{GFF_G2DA_COLUMN_179                 , _T("G2DA_COLUMN_179")},
{GFF_G2DA_COLUMN_180                 , _T("G2DA_COLUMN_180")},
{GFF_G2DA_COLUMN_181                 , _T("G2DA_COLUMN_181")},
{GFF_G2DA_COLUMN_182                 , _T("G2DA_COLUMN_182")},
{GFF_G2DA_COLUMN_183                 , _T("G2DA_COLUMN_183")},
{GFF_G2DA_COLUMN_184                 , _T("G2DA_COLUMN_184")},
{GFF_G2DA_COLUMN_185                 , _T("G2DA_COLUMN_185")},
{GFF_G2DA_COLUMN_186                 , _T("G2DA_COLUMN_186")},
{GFF_G2DA_COLUMN_187                 , _T("G2DA_COLUMN_187")},
{GFF_G2DA_COLUMN_188                 , _T("G2DA_COLUMN_188")},
{GFF_G2DA_COLUMN_189                 , _T("G2DA_COLUMN_189")},
{GFF_G2DA_COLUMN_190                 , _T("G2DA_COLUMN_190")},
{GFF_G2DA_COLUMN_191                 , _T("G2DA_COLUMN_191")},
{GFF_G2DA_COLUMN_192                 , _T("G2DA_COLUMN_192")},
{GFF_G2DA_COLUMN_193                 , _T("G2DA_COLUMN_193")},
{GFF_G2DA_COLUMN_194                 , _T("G2DA_COLUMN_194")},
{GFF_G2DA_COLUMN_195                 , _T("G2DA_COLUMN_195")},
{GFF_G2DA_COLUMN_196                 , _T("G2DA_COLUMN_196")},
{GFF_G2DA_COLUMN_197                 , _T("G2DA_COLUMN_197")},
{GFF_G2DA_COLUMN_198                 , _T("G2DA_COLUMN_198")},
{GFF_G2DA_COLUMN_199                 , _T("G2DA_COLUMN_199")},

{GFF_G2DA_COLUMN_200                 , _T("G2DA_COLUMN_200")},
{GFF_G2DA_COLUMN_201                 , _T("G2DA_COLUMN_201")},
{GFF_G2DA_COLUMN_202                 , _T("G2DA_COLUMN_202")},
{GFF_G2DA_COLUMN_203                 , _T("G2DA_COLUMN_203")},
{GFF_G2DA_COLUMN_204                 , _T("G2DA_COLUMN_204")},
{GFF_G2DA_COLUMN_205                 , _T("G2DA_COLUMN_205")},
{GFF_G2DA_COLUMN_206                 , _T("G2DA_COLUMN_206")},
{GFF_G2DA_COLUMN_207                 , _T("G2DA_COLUMN_207")},
{GFF_G2DA_COLUMN_208                 , _T("G2DA_COLUMN_208")},
{GFF_G2DA_COLUMN_209                 , _T("G2DA_COLUMN_209")},
{GFF_G2DA_COLUMN_210                 , _T("G2DA_COLUMN_210")},
{GFF_G2DA_COLUMN_211                 , _T("G2DA_COLUMN_211")},
{GFF_G2DA_COLUMN_212                 , _T("G2DA_COLUMN_212")},
{GFF_G2DA_COLUMN_213                 , _T("G2DA_COLUMN_213")},
{GFF_G2DA_COLUMN_214                 , _T("G2DA_COLUMN_214")},
{GFF_G2DA_COLUMN_215                 , _T("G2DA_COLUMN_215")},
{GFF_G2DA_COLUMN_216                 , _T("G2DA_COLUMN_216")},
{GFF_G2DA_COLUMN_217                 , _T("G2DA_COLUMN_217")},
{GFF_G2DA_COLUMN_218                 , _T("G2DA_COLUMN_218")},
{GFF_G2DA_COLUMN_219                 , _T("G2DA_COLUMN_219")},
{GFF_G2DA_COLUMN_220                 , _T("G2DA_COLUMN_220")},
{GFF_G2DA_COLUMN_221                 , _T("G2DA_COLUMN_221")},
{GFF_G2DA_COLUMN_222                 , _T("G2DA_COLUMN_222")},
{GFF_G2DA_COLUMN_223                 , _T("G2DA_COLUMN_223")},
{GFF_G2DA_COLUMN_224                 , _T("G2DA_COLUMN_224")},
{GFF_G2DA_COLUMN_225                 , _T("G2DA_COLUMN_225")},
{GFF_G2DA_COLUMN_226                 , _T("G2DA_COLUMN_226")},
{GFF_G2DA_COLUMN_227                 , _T("G2DA_COLUMN_227")},
{GFF_G2DA_COLUMN_228                 , _T("G2DA_COLUMN_228")},
{GFF_G2DA_COLUMN_229                 , _T("G2DA_COLUMN_229")},
{GFF_G2DA_COLUMN_230                 , _T("G2DA_COLUMN_230")},
{GFF_G2DA_COLUMN_231                 , _T("G2DA_COLUMN_231")},
{GFF_G2DA_COLUMN_232                 , _T("G2DA_COLUMN_232")},
{GFF_G2DA_COLUMN_233                 , _T("G2DA_COLUMN_233")},
{GFF_G2DA_COLUMN_234                 , _T("G2DA_COLUMN_234")},
{GFF_G2DA_COLUMN_235                 , _T("G2DA_COLUMN_235")},
{GFF_G2DA_COLUMN_236                 , _T("G2DA_COLUMN_236")},
{GFF_G2DA_COLUMN_237                 , _T("G2DA_COLUMN_237")},
{GFF_G2DA_COLUMN_238                 , _T("G2DA_COLUMN_238")},
{GFF_G2DA_COLUMN_239                 , _T("G2DA_COLUMN_239")},
{GFF_G2DA_COLUMN_240                 , _T("G2DA_COLUMN_240")},
{GFF_G2DA_COLUMN_241                 , _T("G2DA_COLUMN_241")},
{GFF_G2DA_COLUMN_242                 , _T("G2DA_COLUMN_242")},
{GFF_G2DA_COLUMN_243                 , _T("G2DA_COLUMN_243")},
{GFF_G2DA_COLUMN_244                 , _T("G2DA_COLUMN_244")},
{GFF_G2DA_COLUMN_245                 , _T("G2DA_COLUMN_245")},
{GFF_G2DA_COLUMN_246                 , _T("G2DA_COLUMN_246")},
{GFF_G2DA_COLUMN_247                 , _T("G2DA_COLUMN_247")},
{GFF_G2DA_COLUMN_248                 , _T("G2DA_COLUMN_248")},
{GFF_G2DA_COLUMN_249                 , _T("G2DA_COLUMN_249")},
{GFF_G2DA_COLUMN_250                 , _T("G2DA_COLUMN_250")},
{GFF_G2DA_COLUMN_251                 , _T("G2DA_COLUMN_251")},
{GFF_G2DA_COLUMN_252                 , _T("G2DA_COLUMN_252")},
{GFF_G2DA_COLUMN_253                 , _T("G2DA_COLUMN_253")},
{GFF_G2DA_COLUMN_254                 , _T("G2DA_COLUMN_254")},
{GFF_G2DA_COLUMN_255                 , _T("G2DA_COLUMN_255")},
{GFF_G2DA_COLUMN_256                 , _T("G2DA_COLUMN_256")},
{GFF_G2DA_COLUMN_257                 , _T("G2DA_COLUMN_257")},
{GFF_G2DA_COLUMN_258                 , _T("G2DA_COLUMN_258")},
{GFF_G2DA_COLUMN_259                 , _T("G2DA_COLUMN_259")},
{GFF_G2DA_COLUMN_260                 , _T("G2DA_COLUMN_260")},
{GFF_G2DA_COLUMN_261                 , _T("G2DA_COLUMN_261")},
{GFF_G2DA_COLUMN_262                 , _T("G2DA_COLUMN_262")},
{GFF_G2DA_COLUMN_263                 , _T("G2DA_COLUMN_263")},
{GFF_G2DA_COLUMN_264                 , _T("G2DA_COLUMN_264")},
{GFF_G2DA_COLUMN_265                 , _T("G2DA_COLUMN_265")},
{GFF_G2DA_COLUMN_266                 , _T("G2DA_COLUMN_266")},
{GFF_G2DA_COLUMN_267                 , _T("G2DA_COLUMN_267")},
{GFF_G2DA_COLUMN_268                 , _T("G2DA_COLUMN_268")},
{GFF_G2DA_COLUMN_269                 , _T("G2DA_COLUMN_269")},
{GFF_G2DA_COLUMN_270                 , _T("G2DA_COLUMN_270")},
{GFF_G2DA_COLUMN_271                 , _T("G2DA_COLUMN_271")},
{GFF_G2DA_COLUMN_272                 , _T("G2DA_COLUMN_272")},
{GFF_G2DA_COLUMN_273                 , _T("G2DA_COLUMN_273")},
{GFF_G2DA_COLUMN_274                 , _T("G2DA_COLUMN_274")},
{GFF_G2DA_COLUMN_275                 , _T("G2DA_COLUMN_275")},
{GFF_G2DA_COLUMN_276                 , _T("G2DA_COLUMN_276")},
{GFF_G2DA_COLUMN_277                 , _T("G2DA_COLUMN_277")},
{GFF_G2DA_COLUMN_278                 , _T("G2DA_COLUMN_278")},
{GFF_G2DA_COLUMN_279                 , _T("G2DA_COLUMN_279")},
{GFF_G2DA_COLUMN_280                 , _T("G2DA_COLUMN_280")},
{GFF_G2DA_COLUMN_281                 , _T("G2DA_COLUMN_281")},
{GFF_G2DA_COLUMN_282                 , _T("G2DA_COLUMN_282")},
{GFF_G2DA_COLUMN_283                 , _T("G2DA_COLUMN_283")},
{GFF_G2DA_COLUMN_284                 , _T("G2DA_COLUMN_284")},
{GFF_G2DA_COLUMN_285                 , _T("G2DA_COLUMN_285")},
{GFF_G2DA_COLUMN_286                 , _T("G2DA_COLUMN_286")},
{GFF_G2DA_COLUMN_287                 , _T("G2DA_COLUMN_287")},
{GFF_G2DA_COLUMN_288                 , _T("G2DA_COLUMN_288")},
{GFF_G2DA_COLUMN_289                 , _T("G2DA_COLUMN_289")},
{GFF_G2DA_COLUMN_290                 , _T("G2DA_COLUMN_290")},
{GFF_G2DA_COLUMN_291                 , _T("G2DA_COLUMN_291")},
{GFF_G2DA_COLUMN_292                 , _T("G2DA_COLUMN_292")},
{GFF_G2DA_COLUMN_293                 , _T("G2DA_COLUMN_293")},
{GFF_G2DA_COLUMN_294                 , _T("G2DA_COLUMN_294")},
{GFF_G2DA_COLUMN_295                 , _T("G2DA_COLUMN_295")},
{GFF_G2DA_COLUMN_296                 , _T("G2DA_COLUMN_296")},
{GFF_G2DA_COLUMN_297                 , _T("G2DA_COLUMN_297")},
{GFF_G2DA_COLUMN_298                 , _T("G2DA_COLUMN_298")},
{GFF_G2DA_COLUMN_299                 , _T("G2DA_COLUMN_299")},

{GFF_G2DA_COLUMN_TYPE                , _T("G2DA_COLUMN_TYPE")},
// G2DA reserved up to 10999

// Begin stage range

{GFF_STAGE_PLACE_LIST                    , _T("STAGE_PLACE_LIST")},
{GFF_STAGE_CAMERA_LIST                   , _T("STAGE_CAMERA_LIST")},
{GFF_STAGE_PLACES_IN_SHOT                , _T("STAGE_PLACES_IN_SHOT")},
{GFF_STAGE_CAMERA_FOV                    , _T("STAGE_CAMERA_FOV")},
{GFF_STAGE_PLACE_DEFAULT_CAMERA          , _T("STAGE_PLACE_DEFAULT_CAMERA")},
{GFF_STAGE_CAMERA_DEPRECATED             , _T("STAGE_CAMERA_DEPRECATED")},
{GFF_STAGE_CAMERA_LOOKING_FROM           , _T("STAGE_CAMERA_LOOKING_FROM")},
{GFF_STAGE_CAMERA_LOOKING_AT_PRIMARY     , _T("STAGE_CAMERA_LOOKING_AT_PRIMARY")},
{GFF_STAGE_CAMERA_LOOKING_AT_SECONDARY   , _T("STAGE_CAMERA_LOOKING_AT_SECONDARY")},
{GFF_STAGE_CAMERA_LOOKING_AT_TYPE        , _T("STAGE_CAMERA_LOOKING_AT_TYPE")},

// Stage reserved up to 11999

// Begin conversation range

{GFF_CONVERSATION_STARTING_LIST          , _T("CONVERSATION_STARTING_LIST")},
{GFF_CONVERSATION_STARTING_INDEX         , _T("CONVERSATION_STARTING_INDEX")},
{GFF_CONVERSATION_LINE_LIST              , _T("CONVERSATION_LINE_LIST")},
{GFF_CONVERSATION_END                    , _T("CONVERSATION_END")},
{GFF_CONVERSATION_VOBANK                 , _T("CONVERSATION_VOBANK")},

{GFF_CONVERSATION_STAGE_NAME             , _T("CONVERSATION_STAGE_NAME")},
{GFF_CONVERSATION_STAGE_MAP              , _T("CONVERSATION_STAGE_MAP")},

{GFF_CONVERSATION_KEY_TAG                , _T("CONVERSATION_KEY_TAG")},
{GFF_CONVERSATION_VALUE_TAG              , _T("CONVERSATION_VALUE_TAG")},

{GFF_CONVERSATION_STAGE_AT_CURRENT_LOCATION , _T("CONVERSATION_STAGE_AT_CURRENT_LOCATION")},

{GFF_CONVERSATION_LINE_TEXT              , _T("CONVERSATION_LINE_TEXT")},
{GFF_CONVERSATION_LINE_SPEAKER           , _T("CONVERSATION_LINE_SPEAKER")},
{GFF_CONVERSATION_LINE_LISTENER          , _T("CONVERSATION_LINE_LISTENER")},
{GFF_CONVERSATION_LINE_GAME_LANGUAGE     , _T("CONVERSATION_LINE_GAME_LANGUAGE")},
{GFF_CONVERSATION_LINE_ICON              , _T("CONVERSATION_LINE_ICON")},
{GFF_CONVERSATION_LINE_VISIBILITY        , _T("CONVERSATION_LINE_VISIBILITY")},
{GFF_CONVERSATION_LINE_AMBIENT           , _T("CONVERSATION_LINE_AMBIENT")},
{GFF_CONVERSATION_LINE_COND              , _T("CONVERSATION_LINE_COND")},
{GFF_CONVERSATION_LINE_ACTION            , _T("CONVERSATION_LINE_ACTION")},
{GFF_CONVERSATION_LINE_CUTSCENE_RESREF   , _T("CONVERSATION_LINE_CUTSCENE_RESREF")},
{GFF_CONVERSATION_LINE_CUTSCENE          , _T("CONVERSATION_LINE_CUTSCENE")},
{GFF_CONVERSATION_LINE_CUTSCENE_MAP      , _T("CONVERSATION_LINE_CUTSCENE_MAP")},
{GFF_CONVERSATION_LINE_ANIMATION         , _T("CONVERSATION_LINE_ANIMATION")},
{GFF_CONVERSATION_LINE_SKIP              , _T("CONVERSATION_LINE_SKIP")},
{GFF_CONVERSATION_LINE_FASTPATH          , _T("CONVERSATION_LINE_FASTPATH")},
{GFF_CONVERSATION_LINE_NOVOINGAME        , _T("CONVERSATION_LINE_NOVOINGAME")},
{GFF_CONVERSATION_LINE_REVERT_ANIM       , _T("CONVERSATION_LINE_REVERT_ANIM")},
{GFF_CONVERSATION_LINE_SLIDE_SHOW_TEXTURE, _T("CONVERSATION_LINE_SLIDE_SHOW_TEXTURE")},

{GFF_CONVERSATION_PLOT_GUID              , _T("CONVERSATION_PLOT_GUID")},
{GFF_CONVERSATION_PLOT_FLAG              , _T("CONVERSATION_PLOT_FLAG")},
{GFF_CONVERSATION_PLOT_TEST              , _T("CONVERSATION_PLOT_TEST")},
{GFF_CONVERSATION_SCRIPT                 , _T("CONVERSATION_SCRIPT")},
{GFF_CONVERSATION_SCRIPT_PARAMETER       , _T("CONVERSATION_SCRIPT_PARAMETER")},

{GFF_CONVERSATION_LINE_CHILDREN_LIST     , _T("CONVERSATION_LINE_CHILDREN_LIST")},

{GFF_CONVERSATION_STAGE_PLACE_TAG        , _T("CONVERSATION_STAGE_PLACE_TAG")},
{GFF_CONVERSATION_STAGE_OBJECT_TAG 		 , _T("GFF_CONVERSATION_STAGE_OBJECT_TAG")},

{GFF_CONVERSATION_LINE_ACTIVE            , _T("CONVERSATION_LINE_ACTIVE")},


// Conversation reserved up to 12999

// Begin plot range

{GFF_PLOT_FLAGS                          , _T("PLOT_FLAGS")},
{GFF_PLOT_FLAG_ID                        , _T("PLOT_FLAG_ID")},
{GFF_PLOT_FLAG_NAME                      , _T("PLOT_FLAG_NAME")},
{GFF_PLOT_FLAG_REWARD                    , _T("PLOT_FLAG_REWARD")},
{GFF_PLOT_FLAG_JOURNAL                   , _T("PLOT_FLAG_JOURNAL")},
{GFF_PLOT_FLAG_ENDS_PLOT                 , _T("PLOT_FLAG_ENDS_PLOT")},
{GFF_PLOT_FLAG_MULTIREWARD               , _T("PLOT_FLAG_MULTIREWARD")},
{GFF_PLOT_GUID                           , _T("PLOT_GUID")},
{GFF_PLOT_NAME                           , _T("PLOT_NAME")},
{GFF_PLOT_SCRIPT                         , _T("PLOT_SCRIPT")},
{GFF_PLOT_PRIORITY                       , _T("PLOT_PRIORITY")},
{GFF_PLOT_FLAGS1                         , _T("PLOT_FLAGS1")},
{GFF_PLOT_FLAGS2                         , _T("PLOT_FLAGS2")},
{GFF_PLOT_FLAGS3                         , _T("PLOT_FLAGS3")},
{GFF_PLOT_FLAGS4                         , _T("PLOT_FLAGS4")},
{GFF_PLOT_JOURNAL_IMAGE                  , _T("PLOT_JOURNAL_IMAGE")},
{GFF_PLOT_PLOTS                          , _T("PLOT_PLOTS")},
{GFF_PLOT_PARENT_PLOT                    , _T("PLOT_PARENT_PLOT")},
{GFF_PLOT_FLAG_AREA_LOCATION_TAG         , _T("PLOT_FLAG_AREA_LOCATION_TAG")},
{GFF_PLOTASSIST_LIST                     , _T("PLOTASSIST_LIST")},
{GFF_PLOTASSIST_TAG                      , _T("PLOTASSIST_TAG")},
{GFF_PLOTASSIST_ADVANCES_PLOT            , _T("PLOTASSIST_ADVANCES_PLOT")},
{GFF_PLOT_ENTRYTYPE                      , _T("PLOT_ENTRYTYPE")},
{GFF_PLOT_ALLOW_PAUSING                  , _T("PLOT_ALLOW_PAUSING")},
//JamesR Start
{GFF_PLOT_FLAG_OFFERID                   , _T("PLOT_FLAG_OFFERID")},
//JamesR End
{GFF_PLOT_PARENT_PLOT_GUID               , _T("PLOT_PARENT_PLOT_GUID")},

// Plot reserved up to 13999

// Begin tint range 

{GFF_TINT_MASK_DIFFUSE_R                 , _T("TINT_MASK_DIFFUSE_R")},
{GFF_TINT_MASK_DIFFUSE_G                 , _T("TINT_MASK_DIFFUSE_G")},
{GFF_TINT_MASK_DIFFUSE_B                 , _T("TINT_MASK_DIFFUSE_B")},
{GFF_TINT_MASK_SPECULAR_R                , _T("TINT_MASK_SPECULAR_R")},
{GFF_TINT_MASK_SPECULAR_G                , _T("TINT_MASK_SPECULAR_G")},
{GFF_TINT_MASK_SPECULAR_B                , _T("TINT_MASK_SPECULAR_B")},
{GFF_TINT_MASK_DIFFUSE_A                 , _T("TINT_MASK_DIFFUSE_A")},
{GFF_TINT_MASK_SPECULAR_A                , _T("TINT_MASK_SPECULAR_A")},
{GFF_TINT_MASK_DIFFUSE_OPACITY           , _T("TINT_MASK_DIFFUSE_OPACITY")},
{GFF_TINT_MASK_SPECULAR_OPACITY          , _T("TINT_MASK_SPECULAR_OPACITY")},

// End tint range, reserved up to 14999

// Begin material range 

{GFF_MAT_FILE_OBJECT_VERSION				, _T("MAT_FILE_OBJECT_VERSION")},
{GFF_MAT_CHILD_LIST						, _T("MAT_CHILD_LIST")},

{GFF_MAT_ROOT							, _T("MAT_ROOT")},
{GFF_MAT_ROOT_NAME						, _T("MAT_ROOT_NAME")},
{GFF_MAT_MODEL							, _T("MAT_MODEL")},
{GFF_MAT_MODEL_NAME						, _T("MAT_MODEL_NAME")},
{GFF_MAT_PART							, _T("MAT_PART")},
{GFF_MAT_PART_NAME						, _T("MAT_PART_NAME")},
{GFF_MAT_PART_MMH_PARENT					, _T("MAT_PART_MMH_PARENT")},
{GFF_MAT_MATLIB							, _T("MAT_MATLIB")},
{GFF_MAT_MATLIB_NAME						, _T("MAT_MATLIB_NAME")},
{GFF_MAT_MATOBJ							, _T("MAT_MATOBJ")},
{GFF_MAT_MATOBJ_NAME						, _T("MAT_MATOBJ_NAME")},
{GFF_MAT_LIGHT							, _T("MAT_LIGHT")},
{GFF_MAT_LIGHT_NAME						, _T("MAT_LIGHT_NAME")},
{GFF_MAT_LIGHT_RIG						, _T("MAT_LIGHT_RIG")},
{GFF_MAT_LIGHT_RIG_NAME					, _T("MAT_LIGHT_RIG_NAME")},
{GFF_MAT_LIGHT_PROBE						, _T("MAT_LIGHT_PROBE")},
{GFF_MAT_LIGHT_PROBE_NAME				, _T("MAT_LIGHT_PROBE_NAME")},
{GFF_MAT_GROUP                           , _T("MAT_GROUP")},
{GFF_MAT_GROUP_NAME                      , _T("MAT_GROUP_NAME")},
{GFF_MAT_PALETTELIB						, _T("MAT_PALETTELIB")},
{GFF_MAT_PALETTELIB_NAME					, _T("MAT_PALETTELIB_NAME")},
{GFF_MAT_PALETTEOBJ						, _T("MAT_PALETTEOBJ")},
{GFF_MAT_PALETTEOBJ_NAME					, _T("MAT_PALETTEOBJ_NAME")},
{GFF_MAT_HERALDRYLIB						, _T("MAT_HERALDRYLIB")},
{GFF_MAT_HERALDRYLIB_NAME				, _T("MAT_HERALDRYLIB_NAME")},
{GFF_MAT_HERALDRYOBJ						, _T("MAT_HERALDRYOBJ")},
{GFF_MAT_HERALDRYOBJ_NAME				, _T("MAT_HERALDRYOBJ_NAME")},
{GFF_MAT_DUPLICATE						, _T("MAT_DUPLICATE")},
{GFF_MAT_DUPLICATE_NAME					, _T("MAT_DUPLICATE_NAME")},
{GFF_MAT_LAYOUT_NAME						, _T("MAT_LAYOUT_NAME")},
{GFF_MAT_TINTLIB							, _T("MAT_TINTLIB")},
{GFF_MAT_TINTLIB_NAME					, _T("MAT_TINTLIB_NAME")},
{GFF_MAT_TINTOBJ							, _T("MAT_TINTOBJ")},
{GFF_MAT_TINTOBJ_NAME					, _T("MAT_TINTOBJ_NAME")},

// basic params
{GFF_MAT_MATERIAL_TYPE					, _T("MAT_MATERIAL_TYPE")},
{GFF_MAT_BASIC_PARAMS					, _T("MAT_BASIC_PARAMS")},
{GFF_MAT_SHINY_TRANS						, _T("MAT_SHINY_TRANS")},
{GFF_MAT_TWO_SIDE						, _T("MAT_TWO_SIDE")},
{GFF_MAT_HAIR							, _T("MAT_HAIR")},
{GFF_MAT_DYNC_LIGHT						, _T("MAT_DYNC_LIGHT")},
{GFF_MAT_BLEND_MODE						, _T("MAT_BLEND_MODE")},
{GFF_MAT_NAME							, _T("MAT_NAME")},
{GFF_MAT_MATERIAL_TYPE_STRING			, _T("MAT_MATERIAL_TYPE_STRING")},
{GFF_MAT_MATERIAL_SEMANTIC				, _T("MAT_MATERIAL_SEMANTIC")},
{GFF_MAT_MATERIAL_SOUND_TYPE             , _T("MAT_MATERIAL_SOUND_TYPE")},

// diffuse
{GFF_MAT_DIFFUSE_MAP_TYPE				, _T("MAT_DIFFUSE_MAP_TYPE")},
{GFF_MAT_DIFFUSE_MAP_COLOR				, _T("MAT_DIFFUSE_MAP_COLOR")},
{GFF_MAT_DIFFUSE_MAP_SCALE				, _T("MAT_DIFFUSE_MAP_SCALE")},
{GFF_MAT_DIFFUSE_MAP						, _T("MAT_DIFFUSE_MAP")},
{GFF_MAT_DIFFUSE_FILENAME				, _T("MAT_DIFFUSE_FILENAME")},
{GFF_MAT_DIFFOPAC_DIMENSIONX				, _T("MAT_DIFFOPAC_DIMENSIONX")},
{GFF_MAT_DIFFOPAC_DIMENSIONY				, _T("MAT_DIFFOPAC_DIMENSIONY")},
{GFF_MAT_DIFFOPAC_COMPRESSION			, _T("MAT_DIFFOPAC_COMPRESSION")},
{GFF_MAT_DIFFOPAC_COMPRESSION_XBOX360    , _T("MAT_DIFFOPAC_COMPRESSION_XBOX360")},

// secondary diffuse
{GFF_MAT_SECONDARY_DIFFUSE_MAP_ENABLE             , _T("MAT_SECONDARY_DIFFUSE_MAP_ENABLE")},
{GFF_MAT_SECONDARY_DIFFUSE_MAP					, _T("MAT_SECONDARY_DIFFUSE_MAP")},
{GFF_MAT_SECONDARY_DIFFUSE_FILENAME				, _T("MAT_SECONDARY_DIFFUSE_FILENAME")},
{GFF_MAT_SECONDARY_DIFFUSE_COMPRESSION			, _T("MAT_SECONDARY_DIFFUSE_COMPRESSION")},
{GFF_MAT_SECONDARY_DIFFUSE_COMPRESSION_XBOX360    , _T("MAT_SECONDARY_DIFFUSE_COMPRESSION_XBOX360")},

// opacity
{GFF_MAT_OPACITYMAPENABLE				, _T("MAT_OPACITYMAPENABLE")},
{GFF_MAT_OPACITYMAPTYPE					, _T("MAT_OPACITYMAPTYPE")},
{GFF_MAT_OPACITYMAPCOLOR					, _T("MAT_OPACITYMAPCOLOR")},
{GFF_MAT_OPACITYMAPSCALE					, _T("MAT_OPACITYMAPSCALE")},
{GFF_MAT_OPACITYMAP						, _T("MAT_OPACITYMAP")},

// specular
{GFF_MAT_SPECULAR_MAP_ENABLE				, _T("MAT_SPECULAR_MAP_ENABLE")},
{GFF_MAT_SPECULAR_MAP_TYPE				, _T("MAT_SPECULAR_MAP_TYPE")},
{GFF_MAT_SPECULAR_MAP_COLOR				, _T("MAT_SPECULAR_MAP_COLOR")},
{GFF_MAT_SPECULAR_MAP_SCALE				, _T("MAT_SPECULAR_MAP_SCALE")},
{GFF_MAT_SPECULAR_MAP					, _T("MAT_SPECULAR_MAP")},
{GFF_MAT_SPECULAR_GLOSS_TYPE				, _T("MAT_SPECULAR_GLOSS_TYPE")},
{GFF_MAT_SPECULAR_GLOSS_COLOR			, _T("MAT_SPECULAR_GLOSS_COLOR")},
{GFF_MAT_SPECULAR_GLOSS_SCALE			, _T("MAT_SPECULAR_GLOSS_SCALE")},
{GFF_MAT_SPECULAR_GLOSS					, _T("MAT_SPECULAR_GLOSS")},
{GFF_MAT_SPECULAR_FILENAME				, _T("MAT_SPECULAR_FILENAME")},
{GFF_MAT_SPECULAR_DIMENSIONX				, _T("MAT_SPECULAR_DIMENSIONX")},
{GFF_MAT_SPECULAR_DIMENSIONY				, _T("MAT_SPECULAR_DIMENSIONY")},
{GFF_MAT_SPECULAR_COMPRESSION			, _T("MAT_SPECULAR_COMPRESSION")},
{GFF_MAT_SPECULAR_COMPRESSION_XBOX360    , _T("MAT_SPECULAR_COMPRESSION_XBOX360")},
{GFF_MAT_SPECULAR_REFLECTION_MULTIPLIER  , _T("MAT_SPECULAR_REFLECTION_MULTIPLIER")},

// normal
{GFF_MAT_NORMAL_MAP_ENABLE				, _T("MAT_NORMAL_MAP_ENABLE")},
{GFF_MAT_NORMAL_MAP						, _T("MAT_NORMAL_MAP")},
{GFF_MAT_NORMAL_FILENAME					, _T("MAT_NORMAL_FILENAME")},
{GFF_MAT_NORMAL_COMPRESSION              , _T("MAT_NORMAL_COMPRESSION")},
{GFF_MAT_NORMAL_COMPRESSION_XBOX360      , _T("MAT_NORMAL_COMPRESSION_XBOX360")},

// tint mask
{GFF_MAT_TINT_MAP_ENABLE					, _T("MAT_TINT_MAP_ENABLE")},
{GFF_MAT_TINT_MAP						, _T("MAT_TINT_MAP")},

// tint object properties
{GFF_MAT_TINT_R_ENABLE					, _T("MAT_TINT_R_ENABLE")},
{GFF_MAT_TINT_G_ENABLE					, _T("MAT_TINT_G_ENABLE")},
{GFF_MAT_TINT_B_ENABLE					, _T("MAT_TINT_B_ENABLE")},
{GFF_MAT_TINT_FILENAME_POSTFIX           , _T("MAT_TINT_FILENAME_POSTFIX")},

// tint mask cont...
{GFF_MAT_TINT_COMPRESSION                , _T("MAT_TINT_COMPRESSION")},
{GFF_MAT_TINT_COMPRESSION_XBOX360        , _T("MAT_TINT_COMPRESSION_XBOX360")},

// tint object properties cont..
{GFF_MAT_TINT_A_ENABLE					, _T("MAT_TINT_A_ENABLE")},
{GFF_MAT_TINT_R_SPECULAR_INTENSITY		, _T("MAT_TINT_R_SPECULAR_INTENSITY")},
{GFF_MAT_TINT_G_SPECULAR_INTENSITY		, _T("MAT_TINT_G_SPECULAR_INTENSITY")},
{GFF_MAT_TINT_B_SPECULAR_INTENSITY		, _T("MAT_TINT_B_SPECULAR_INTENSITY")},
{GFF_MAT_TINT_A_SPECULAR_INTENSITY		, _T("MAT_TINT_A_SPECULAR_INTENSITY")},
{GFF_MAT_TINT_R_DIFFUSE_INTENSITY		, _T("MAT_TINT_R_DIFFUSE_INTENSITY")},
{GFF_MAT_TINT_G_DIFFUSE_INTENSITY		, _T("MAT_TINT_G_DIFFUSE_INTENSITY")},
{GFF_MAT_TINT_B_DIFFUSE_INTENSITY		, _T("MAT_TINT_B_DIFFUSE_INTENSITY")},
{GFF_MAT_TINT_A_DIFFUSE_INTENSITY		, _T("MAT_TINT_A_DIFFUSE_INTENSITY")},
{GFF_MAT_TINT_R_SPECULAR_OPACITY			, _T("MAT_TINT_R_SPECULAR_OPACITY")},
{GFF_MAT_TINT_G_SPECULAR_OPACITY			, _T("MAT_TINT_G_SPECULAR_OPACITY")},
{GFF_MAT_TINT_B_SPECULAR_OPACITY			, _T("MAT_TINT_B_SPECULAR_OPACITY")},
{GFF_MAT_TINT_A_SPECULAR_OPACITY			, _T("MAT_TINT_A_SPECULAR_OPACITY")},
{GFF_MAT_TINT_R_DIFFUSE_OPACITY			, _T("MAT_TINT_R_DIFFUSE_OPACITY")},
{GFF_MAT_TINT_G_DIFFUSE_OPACITY			, _T("MAT_TINT_G_DIFFUSE_OPACITY")},
{GFF_MAT_TINT_B_DIFFUSE_OPACITY			, _T("MAT_TINT_B_DIFFUSE_OPACITY")},
{GFF_MAT_TINT_A_DIFFUSE_OPACITY			, _T("MAT_TINT_A_DIFFUSE_OPACITY")},
{GFF_MAT_TINT_TYPE			            , _T("MAT_TINT_TYPE")},

// tint mask map cont... again...
{GFF_MAT_TINT_MASK_TINT_CHANNEL1         , _T("MAT_TINT_MASK_TINT_CHANNEL1")},
{GFF_MAT_TINT_MASK_TINT_CHANNEL2         , _T("MAT_TINT_MASK_TINT_CHANNEL2")},
{GFF_MAT_TINT_MASK_TINT_CHANNEL3         , _T("MAT_TINT_MASK_TINT_CHANNEL3")},
{GFF_MAT_TINT_MASK_TINT_CHANNEL4         , _T("MAT_TINT_MASK_TINT_CHANNEL4")},

// relief
{GFF_MAT_RELIEF_MAP_ENABLE				, _T("MAT_RELIEF_MAP_ENABLE")},
{GFF_MAT_RELIEF_MAP						, _T("MAT_RELIEF_MAP")},
{GFF_MAT_RELIEF_MAP_SCALE                , _T("MAT_RELIEF_MAP_SCALE")},
{GFF_MAT_RELIEF_MAP_SAMPLES              , _T("MAT_RELIEF_MAP_SAMPLES")},
{GFF_MAT_RELIEF_MAP_SHADOW_OFFSET        , _T("MAT_RELIEF_MAP_SHADOW_OFFSET")},
{GFF_MAT_RELIEF_MAP_IN_OUT               , _T("MAT_RELIEF_MAP_IN_OUT")},
{GFF_MAT_RELIEF_COMPRESSION              , _T("MAT_RELIEF_COMPRESSION")},
{GFF_MAT_RELIEF_COMPRESSION_XBOX360      , _T("MAT_RELIEF_COMPRESSION_XBOX360")},

// more tint object properties...
{GFF_MAT_TINT_EXPORTABLE                 , _T("MAT_TINT_EXPORTABLE")},

// vfx
{GFF_MAT_VFX_CONTACT_SHEET_WIDTH			, _T("MAT_VFX_CONTACT_SHEET_WIDTH")},
{GFF_MAT_VFX_CONTACT_SHEET_HEIGHT		, _T("MAT_VFX_CONTACT_SHEET_HEIGHT")},
{GFF_MAT_VFX_CONTACT_SHEET_FRAMES		, _T("MAT_VFX_CONTACT_SHEET_FRAMES")},
{GFF_MAT_VFX_SCROLL_SPEED_U				, _T("MAT_VFX_SCROLL_SPEED_U")},
{GFF_MAT_VFX_SCROLL_SPEED_V				, _T("MAT_VFX_SCROLL_SPEED_V")},
{GFF_MAT_VFX_DEPTH_BIAS_ALPHA     		, _T("MAT_VFX_DEPTH_BIAS_ALPHA")},
{GFF_MAT_VFX_START_ALPHA_FRESNEL         , _T("MAT_VFX_START_ALPHA_FRESNEL")},
{GFF_MAT_VFX_END_ALPHA_FRESNEL           , _T("MAT_VFX_END_ALPHA_FRESNEL")},
{GFF_MAT_VFX_INVERT_ALPHA_FRESNEL        , _T("MAT_VFX_INVERT_ALPHA_FRESNEL")},

// fresnel
{GFF_MAT_FRESNEL_MAP_ENABLE				, _T("MAT_FRESNEL_MAP_ENABLE")},
{GFF_MAT_FRESNEL_MAP						, _T("MAT_FRESNEL_MAP")},
{GFF_MAT_FRESNEL_FILENAME				, _T("MAT_FRESNEL_FILENAME")},
{GFF_MAT_FRESNEL_COMPRESSION				, _T("MAT_FRESNEL_COMPRESSION")},
{GFF_MAT_FRESNEL_COMPRESSION_XBOX360		, _T("MAT_FRESNEL_COMPRESSION_XBOX360")},

// emissive
{GFF_MAT_EMISSIVE_MAP_ENABLE				, _T("MAT_EMISSIVE_MAP_ENABLE")},
{GFF_MAT_EMISSIVE_MAP					, _T("MAT_EMISSIVE_MAP")},
{GFF_MAT_EMISSIVE_FILENAME				, _T("MAT_EMISSIVE_FILENAME")},
{GFF_MAT_EMISSIVE_COMPRESSION			, _T("MAT_EMISSIVE_COMPRESSION")},
{GFF_MAT_EMISSIVE_COMPRESSION_XBOX360	, _T("MAT_EMISSIVE_COMPRESSION_XBOX360")},

// section mask
{GFF_MAT_SECTION_MASK_MAP_ENABLE				, _T("MAT_SECTION_MASK_MAP_ENABLE")},
{GFF_MAT_SECTION_MASK_MAP					, _T("MAT_SECTION_MASK_MAP")},
{GFF_MAT_SECTION_MASK_FILENAME			    , _T("MAT_SECTION_MASK_FILENAME")},
{GFF_MAT_SECTION_MASK_COMPRESSION			, _T("MAT_SECTION_MASK_COMPRESSION")},
{GFF_MAT_SECTION_MASK_COMPRESSION_XBOX360	, _T("MAT_SECTION_MASK_COMPRESSION_XBOX360")},

// secondary normal
{GFF_MAT_SECONDARY_NORMAL_MAP_ENABLE			, _T("MAT_SECONDARY_NORMAL_MAP_ENABLE")},
{GFF_MAT_SECONDARY_NORMAL_MAP				, _T("MAT_SECONDARY_NORMAL_MAP")},
{GFF_MAT_SECONDARY_NORMAL_FILENAME			, _T("MAT_SECONDARY_NORMAL_FILENAME")},
{GFF_MAT_SECONDARY_NORMAL_COMPRESSION        , _T("MAT_SECONDARY_NORMAL_COMPRESSION")},
{GFF_MAT_SECONDARY_NORMAL_COMPRESSION_XBOX360, _T("MAT_SECONDARY_NORMAL_COMPRESSION_XBOX360")},

// eye params
{GFF_MAT_EYE_CORNEA_SPECULAR_MASK			    , _T("MAT_EYE_CORNEA_SPECULAR_MASK")},
{GFF_MAT_EYE_CORNEA_SPECULAR_POWER		        , _T("MAT_EYE_CORNEA_SPECULAR_POWER")},
{GFF_MAT_EYE_SCLERA_SPECULAR_MASK    	        , _T("MAT_EYE_SCLERA_SPECULAR_MASK")},
{GFF_MAT_EYE_SCLERA_SPECULAR_POWER               , _T("MAT_EYE_SCLERA_SPECULAR_POWER")},
{GFF_MAT_EYE_CORNEA_REFLECTION_MULTIPLIER	    , _T("MAT_EYE_CORNEA_REFLECTION_MULTIPLIER")},

// Packed Texture
{GFF_MAT_SPECULAR_MASK_MAP_ENABLE			 , _T("MAT_SPECULAR_MASK_MAP_ENABLE")},
{GFF_MAT_PACKED_TEXTURE_MAP				     , _T("MAT_PACKED_TEXTURE_MAP")},
{GFF_MAT_PACKED_TEXTURE_FILENAME			     , _T("MAT_PACKED_TEXTURE_FILENAME")},
{GFF_MAT_PACKED_TEXTURE_COMPRESSION           , _T("MAT_PACKED_TEXTURE_COMPRESSION")},
{GFF_MAT_PACKED_TEXTURE_COMPRESSION_XBOX360   , _T("MAT_PACKED_TEXTURE_COMPRESSION_XBOX360")},

// Tint Noise
{GFF_MAT_SPECULAR_SHIFT_MAP_ENABLE			, _T("MAT_SPECULAR_SHIFT_MAP_ENABLE")},
{GFF_MAT_TINT_NOISE_MAP				        , _T("MAT_TINT_NOISE_MAP")},
{GFF_MAT_TINT_NOISE_FILENAME			        , _T("MAT_TINT_NOISE_FILENAME")},
{GFF_MAT_TINT_NOISE_COMPRESSION              , _T("MAT_TINT_NOISE_COMPRESSION")},
{GFF_MAT_TINT_NOISE_COMPRESSION_XBOX360      , _T("MAT_TINT_NOISE_COMPRESSION_XBOX360")},

// hair params
{GFF_MAT_HAIR_DIFFUSE_TINT			        , _T("MAT_HAIR_DIFFUSE_TINT")},
{GFF_MAT_HAIR_PRIMARY_SPECULAR_POWER		    , _T("MAT_HAIR_PRIMARY_SPECULAR_POWER")},
{GFF_MAT_HAIR_PRIMARY_SPECULAR_MASK	        , _T("MAT_HAIR_PRIMARY_SPECULAR_MASK")},
{GFF_MAT_HAIR_SECONDARY_SPECULAR_POWER       , _T("MAT_HAIR_SECONDARY_SPECULAR_POWER")},
{GFF_MAT_HAIR_SECONDARY_SPECULAR_TINT        , _T("MAT_HAIR_SECONDARY_SPECULAR_TINT")},
{GFF_MAT_HAIR_TINT_NOISE_TILING   		    , _T("MAT_HAIR_TINT_NOISE_TILING")},

// Sun light
{GFF_MAT_SUN									, _T("MAT_SUN")},
{GFF_MAT_SUN_NAME							, _T("MAT_SUN_NAME")},
{GFF_MAT_SUN_DIRECTION						, _T("MAT_SUN_DIRECTION")},
{GFF_MAT_SUN_COLOR							, _T("MAT_SUN_COLOR")},
{GFF_MAT_SUN_COLORMULT						, _T("MAT_SUN_COLORMULT")},

// heraldry
{GFF_MAT_HERALDRY_MAP_ENABLE					, _T("MAT_HERALDRY_MAP_ENABLE")},
{GFF_MAT_HERALDRY_MAP						, _T("MAT_HERALDRY_MAP")},
{GFF_MAT_HERALDRY_FILENAME					, _T("MAT_HERALDRY_FILENAME")},
{GFF_MAT_HERALDRY_COMPRESSION				, _T("MAT_HERALDRY_COMPRESSION")},
{GFF_MAT_HERALDRY_COMPRESSION_XBOX360		, _T("MAT_HERALDRY_COMPRESSION_XBOX360")},

// character params
{GFF_MAT_RIM_LIGHT_WIDTH						, _T("MAT_RIM_LIGHT_WIDTH")},
{GFF_MAT_RIM_LIGHT_MULTIPLIER				, _T("MAT_RIM_LIGHT_MULTIPLIER")},
{GFF_MAT_FALLOFF_WIDTH                       , _T("MAT_FALLOFF_WIDTH")},
{GFF_MAT_FALLOFF_MULTIPLIER                  , _T("MAT_FALLOFF_MULTIPLIER")},

// Face params
{GFF_MAT_AMBIENT_MULTIPLIER					, _T("MAT_AMBIENT_MULTIPLIER")},
{GFF_MAT_SPECULAR_MULTIPLIER                 , _T("MAT_SPECULAR_MULTIPLIER")},
{GFF_MAT_LIP_SPECULAR_BOOST                  , _T("MAT_LIP_SPECULAR_BOOST")},
{GFF_MAT_RIM_POWER                           , _T("MAT_RIM_POWER")},

// distortion
{GFF_MAT_DISTORTION_MAP_ENABLE				, _T("MAT_DISTORTION_MAP_ENABLE")},
{GFF_MAT_DISTORTION_MAP						, _T("MAT_DISTORTION_MAP")},
{GFF_MAT_DISTORTION_FILENAME					, _T("MAT_DISTORTION_FILENAME")},
{GFF_MAT_DISTORTION_COMPRESSION				, _T("MAT_DISTORTION_COMPRESSION")},
{GFF_MAT_DISTORTION_COMPRESSION_XBOX360		, _T("MAT_DISTORTION_COMPRESSION_XBOX360")},

// distortion modifiers
{GFF_MAT_DISTORTIONMODIFIERS_MAP_ENABLE			, _T("MAT_DISTORTIONMODIFIERS_MAP_ENABLE")},
{GFF_MAT_DISTORTIONMODIFIERS_MAP					, _T("MAT_DISTORTIONMODIFIERS_MAP")},
{GFF_MAT_DISTORTIONMODIFIERS_FILENAME			, _T("MAT_DISTORTIONMODIFIERS_FILENAME")},
{GFF_MAT_DISTORTIONMODIFIERS_COMPRESSION			, _T("MAT_DISTORTIONMODIFIERS_COMPRESSION")},
{GFF_MAT_DISTORTIONMODIFIERS_COMPRESSION_XBOX360	, _T("MAT_DISTORTIONMODIFIERS_COMPRESSION_XBOX360")},

// distortion params
{GFF_MAT_DISTORTION_MAGNITUDE					, _T("MAT_DISTORTION_MAGNITUDE")},
{GFF_MAT_DISTORTION_INVERT						, _T("MAT_DISTORTION_INVERT")},
{GFF_MAT_DISTORTION_FADE_DISTANCE				, _T("MAT_DISTORTION_FADE_DISTANCE")},
{GFF_MAT_DISTORTION_FADE_MULTIPLIER				, _T("MAT_DISTORTION_FADE_MULTIPLIER")},

// alternate decal map
{GFF_MAT_ALTERNATE_DECAL_MAP						, _T("MAT_ALTERNATE_DECAL_MAP")},
{GFF_MAT_ALTERNATE_DECAL_FILENAME				, _T("MAT_ALTERNATE_DECAL_FILENAME")},
{GFF_MAT_ALTERNATE_DECAL_COMPRESSION			    , _T("MAT_ALTERNATE_DECAL_COMPRESSION")},
{GFF_MAT_ALTERNATE_DECAL_COMPRESSION_XBOX360     , _T("MAT_ALTERNATE_DECAL_COMPRESSION_XBOX360")},

// Tattoo Mask
{GFF_MAT_TATTOO_MASK_MAP				            , _T("MAT_TATTOO_MASK_MAP")},
{GFF_MAT_TATTOO_MASK_FILENAME			        , _T("MAT_TATTOO_MASK_FILENAME")},
{GFF_MAT_TATTOO_MASK_COMPRESSION                 , _T("MAT_TATTOO_MASK_COMPRESSION")},
{GFF_MAT_TATTOO_MASK_COMPRESSION_XBOX360         , _T("MAT_TATTOO_MASK_COMPRESSION_XBOX360")},
{GFF_MAT_TATTOO_MASK_MAP_ENABLE				    , _T("MAT_TATTOO_MASK_MAP_ENABLE")},

{GFF_MAT_TATTOO_MASK_TINT_CHANNEL1               , _T("MAT_TATTOO_MASK_TINT_CHANNEL1")},
{GFF_MAT_TATTOO_MASK_TINT_CHANNEL2               , _T("MAT_TATTOO_MASK_TINT_CHANNEL2")},
{GFF_MAT_TATTOO_MASK_TINT_CHANNEL3               , _T("MAT_TATTOO_MASK_TINT_CHANNEL3")},
{GFF_MAT_TATTOO_MASK_TINT_CHANNEL4               , _T("MAT_TATTOO_MASK_TINT_CHANNEL4")},

// Brow Stubble
{GFF_MAT_BROW_STUBBLE_MAP				        , _T("MAT_BROW_STUBBLE_MAP")},
{GFF_MAT_BROW_STUBBLE_FILENAME			        , _T("MAT_BROW_STUBBLE_FILENAME")},
{GFF_MAT_BROW_STUBBLE_COMPRESSION                , _T("MAT_BROW_STUBBLE_COMPRESSION")},
{GFF_MAT_BROW_STUBBLE_COMPRESSION_XBOX360        , _T("MAT_BROW_STUBBLE_COMPRESSION_XBOX360")},

// Brow Stubble Normal
{GFF_MAT_BROW_STUBBLE_NORMAL_MAP				    , _T("MAT_BROW_STUBBLE_NORMAL_MAP")},
{GFF_MAT_BROW_STUBBLE_NORMAL_FILENAME			, _T("MAT_BROW_STUBBLE_NORMAL_FILENAME")},
{GFF_MAT_BROW_STUBBLE_NORMAL_COMPRESSION         , _T("MAT_BROW_STUBBLE_NORMAL_COMPRESSION")},
{GFF_MAT_BROW_STUBBLE_NORMAL_COMPRESSION_XBOX360 , _T("MAT_BROW_STUBBLE_NORMAL_COMPRESSION_XBOX360")},

// Emotions Mask 0
{GFF_MAT_EMOTIONS_MASK_0_MAP				        , _T("MAT_EMOTIONS_MASK_0_MAP")},
{GFF_MAT_EMOTIONS_MASK_0_FILENAME			    , _T("MAT_EMOTIONS_MASK_0_FILENAME")},
{GFF_MAT_EMOTIONS_MASK_0_COMPRESSION             , _T("MAT_EMOTIONS_MASK_0_COMPRESSION")},
{GFF_MAT_EMOTIONS_MASK_0_COMPRESSION_XBOX360     , _T("MAT_EMOTIONS_MASK_0_COMPRESSION_XBOX360")},

// Emotions Mask 1
{GFF_MAT_EMOTIONS_MASK_1_MAP				        , _T("MAT_EMOTIONS_MASK_1_MAP")},
{GFF_MAT_EMOTIONS_MASK_1_FILENAME			    , _T("MAT_EMOTIONS_MASK_1_FILENAME")},
{GFF_MAT_EMOTIONS_MASK_1_COMPRESSION             , _T("MAT_EMOTIONS_MASK_1_COMPRESSION")},
{GFF_MAT_EMOTIONS_MASK_1_COMPRESSION_XBOX360     , _T("MAT_EMOTIONS_MASK_1_COMPRESSION_XBOX360")},

// Emotions Normal
{GFF_MAT_EMOTIONS_NORMAL_MAP				        , _T("MAT_EMOTIONS_NORMAL_MAP")},
{GFF_MAT_EMOTIONS_NORMAL_FILENAME			    , _T("MAT_EMOTIONS_NORMAL_FILENAME")},
{GFF_MAT_EMOTIONS_NORMAL_COMPRESSION             , _T("MAT_EMOTIONS_NORMAL_COMPRESSION")},
{GFF_MAT_EMOTIONS_NORMAL_COMPRESSION_XBOX360     , _T("MAT_EMOTIONS_NORMAL_COMPRESSION_XBOX360")},

// Lava
{GFF_MAT_SCROLL_SPEED_1                          , _T("MAT_SCROLL_SPEED_1")},
{GFF_MAT_SCROLL_SPEED_2                          , _T("MAT_SCROLL_SPEED_2")},
{GFF_MAT_SCROLL_SPEED_3                          , _T("MAT_SCROLL_SPEED_3")},
{GFF_MAT_LAVA_TINT_COLOR                         , _T("MAT_LAVA_TINT_COLOR")},
{GFF_MAT_LAVA_BRIGHTNESS                         , _T("MAT_LAVA_BRIGHTNESS")},
{GFF_MAT_LAVA_CONTRAST                           , _T("MAT_LAVA_CONTRAST")},
{GFF_MAT_LAVA_NOISE_MAP                          , _T("MAT_LAVA_NOISE_MAP")},

// End material range, reserved up to 15999

// Begin Save Game Range

// Top-level
{GFF_SAVEGAME_CAMPAIGN           , _T("SAVEGAME_CAMPAIGN")},
{GFF_SAVEGAME_AREALIST           , _T("SAVEGAME_AREALIST")},
{GFF_SAVEGAME_PLAYERCHAR         , _T("SAVEGAME_PLAYERCHAR")},
{GFF_SAVEGAME_PARTYLIST          , _T("SAVEGAME_PARTYLIST")},
{GFF_SAVEGAME_VERSION            , _T("SAVEGAME_VERSION")},
{GFF_SAVEGAME_GAME_STATE         , _T("SAVEGAME_GAME_STATE")},
{GFF_SAVEGAME_ADDINSLIST         , _T("SAVEGAME_ADDINSLIST")},
{GFF_SAVEGAME_CHEAT_USED         , _T("SAVEGAME_CHEAT_USED")},
{GFF_SAVEGAME_STORYSOFAR			, _T("SAVEGAME_STORYSOFAR")},

// Area properties and object lists
{GFF_SAVEGAME_AREA_PLACEABLES    , _T("SAVEGAME_AREA_PLACEABLES")},
{GFF_SAVEGAME_AREA_CREATURES     , _T("SAVEGAME_AREA_CREATURES")},
{GFF_SAVEGAME_AREA_TRIGGERS      , _T("SAVEGAME_AREA_TRIGGERS")},
{GFF_SAVEGAME_AREA_AOES          , _T("SAVEGAME_AREA_AOES")},
{GFF_SAVEGAME_CAMPAIGN_RESOURCE  , _T("SAVEGAME_CAMPAIGN_RESOURCE")},
{GFF_SAVEGAME_AREA_WAYPOINTS     , _T("SAVEGAME_AREA_WAYPOINTS")},
{GFF_SAVEGAME_AREA_MAP           , _T("SAVEGAME_AREA_MAP")},
{GFF_SAVEGAME_AREA_STORES        , _T("SAVEGAME_AREA_STORES")},
{GFF_SAVEGAME_AREA_ROOMS_VIEWED  , _T("SAVEGAME_AREA_ROOMS_VIEWED")},
{GFF_SAVEGAME_AREA_SOUNDS        , _T("SAVEGAME_AREA_SOUNDS")},
{GFF_SAVEGAME_AREA_MIN_CREATURE_IMPORTANCE , _T("SAVEGAME_AREA_MIN_CREATURE_IMPORTANCE")},

// Area object properties
{GFF_SAVEGAME_AREA_PLACEABLE_STATE        , _T("SAVEGAME_AREA_PLACEABLE_STATE")},
{GFF_SAVEGAME_AREA_TRIGGER_GEOMETRY       , _T("SAVEGAME_AREA_TRIGGER_GEOMETRY")},
{GFF_SAVEGAME_AREA_PLACEABLE_USEABLE      , _T("SAVEGAME_AREA_PLACEABLE_USEABLE")},
{GFF_SAVEGAME_AREA_TRIGGER_DETECTABLE     , _T("SAVEGAME_AREA_TRIGGER_DETECTABLE")},
{GFF_SAVEGAME_AREA_TRIGGER_DISARMABLE     , _T("SAVEGAME_AREA_TRIGGER_DISARMABLE")},
{GFF_SAVEGAME_AREA_TRIGGER_DCDETECTCHECK  , _T("SAVEGAME_AREA_TRIGGER_DCDETECTCHECK")},
{GFF_SAVEGAME_AREA_TRIGGER_DCDISARMCHECK  , _T("SAVEGAME_AREA_TRIGGER_DCDISARMCHECK")},
{GFF_SAVEGAME_AREA_TRIGGER_LAST_DISARMED  , _T("SAVEGAME_AREA_TRIGGER_LAST_DISARMED")},
{GFF_SAVEGAME_AREA_TRIGGER_REVERB_PRESET  , _T("SAVEGAME_AREA_TRIGGER_REVERB_PRESET")},
{GFF_SAVEGAME_AREA_TRIGGER_PRIORITY       , _T("SAVEGAME_AREA_TRIGGER_PRIORITY")},
{GFF_SAVEGAME_AREA_TRIGGER_LOAD_SCREEN    , _T("SAVEGAME_AREA_TRIGGER_LOAD_SCREEN")},
{GFF_SAVEGAME_AREA_TRIGGER_SOUNDS         , _T("SAVEGAME_AREA_TRIGGER_SOUNDS")},
{GFF_SAVEGAME_AREA_TRIGGER_TYPE           , _T("SAVEGAME_AREA_TRIGGER_TYPE")},

{GFF_SAVEGAME_AREA_TRIGGER_MUSICVOLUME_ENTERSTATE      , _T("SAVEGAME_AREA_TRIGGER_MUSICVOLUME_ENTERSTATE")},
{GFF_SAVEGAME_AREA_TRIGGER_MUSICVOLUME_EXITSTATE       , _T("SAVEGAME_AREA_TRIGGER_MUSICVOLUME_EXITSTATE")},
{GFF_SAVEGAME_AREA_TRIGGER_MUSICVOLUME_ENTERSTATEDELAY , _T("SAVEGAME_AREA_TRIGGER_MUSICVOLUME_ENTERSTATEDELAY")},
{GFF_SAVEGAME_AREA_TRIGGER_MUSICVOLUME_EXITSTATEDELAY  , _T("SAVEGAME_AREA_TRIGGER_MUSICVOLUME_EXITSTATEDELAY")},

// Stores
{GFF_SAVEGAME_STORE_MARKDOWN         , _T("SAVEGAME_STORE_MARKDOWN")},
{GFF_SAVEGAME_STORE_MARKUP           , _T("SAVEGAME_STORE_MARKUP")},
{GFF_SAVEGAME_STORE_GOLD             , _T("SAVEGAME_STORE_GOLD")},
{GFF_SAVEGAME_STORE_MAXBUYPRICE      , _T("SAVEGAME_STORE_MAXBUYPRICE")},
{GFF_SAVEGAME_STORE_WILLNOTBUY       , _T("SAVEGAME_STORE_WILLNOTBUY")},
{GFF_SAVEGAME_STORE_WILLONLYBUY      , _T("SAVEGAME_STORE_WILLONLYBUY")},
{GFF_SAVEGAME_STORE_ITEMLIST         , _T("SAVEGAME_STORE_ITEMLIST")},

// Object properties, creature item lists, Party properties, etc.

// *** WARNING - somebody has mixed the ID groups between 16200 and 16300
// I know this is really ugly but keep the ids in numeric order (we used to group them
// logically but then people were creating duplicate IDs even with warning comments
// saying to be careful of this).
 
//{GFF_SAVEGAME_PLAYERCHAR_AREA      , _T("SAVEGAME_PLAYERCHAR_AREA")},
{GFF_SAVEGAME_OBJECT_ACTIVE        , _T("SAVEGAME_OBJECT_ACTIVE")},
//{GFF_SAVEGAME_OBJECT_AILEVEL       , _T("SAVEGAME_OBJECT_AILEVEL")},

// Party information
{GFF_SAVEGAME_PARTYMEMBERS         , _T("SAVEGAME_PARTYMEMBERS")},
{GFF_SAVEGAME_PARTYPOOLMEMBERS     , _T("SAVEGAME_PARTYPOOLMEMBERS")},
{GFF_SAVEGAME_PARTYMEM_CREATURE    , _T("SAVEGAME_PARTYMEM_CREATURE")},
{GFF_SAVEGAME_PARTYMEM_TEMPLATE    , _T("SAVEGAME_PARTYMEM_TEMPLATE")},
{GFF_SAVEGAME_PARTYCREATURES       , _T("SAVEGAME_PARTYCREATURES")},
{GFF_SAVEGAME_PLAYERCHAR_CHAR      , _T("SAVEGAME_PLAYERCHAR_CHAR")},
// (continued at 16270)

// Creature information/equipment
{GFF_SAVEGAME_CREATURE_STATS       , _T("SAVEGAME_CREATURE_STATS")},
{GFF_SAVEGAME_BACKPACK             , _T("SAVEGAME_BACKPACK")},
{GFF_SAVEGAME_PLOTITEMS            , _T("SAVEGAME_PLOTITEMS")},
{GFF_SAVEGAME_MONEY                , _T("SAVEGAME_MONEY")},
{GFF_SAVEGAME_QUICKITEMS           , _T("SAVEGAME_QUICKITEMS")},
{GFF_SAVEGAME_EQUIPMENT            , _T("SAVEGAME_EQUIPMENT")},
{GFF_SAVEGAME_EQUIPMENTSET         , _T("SAVEGAME_EQUIPMENTSET")},
{GFF_SAVEGAME_EQUIPMENTSET_SLOT    , _T("SAVEGAME_EQUIPMENTSET_SLOT")},
{GFF_SAVEGAME_EQUIPMENTSET_OBJECT  , _T("SAVEGAME_EQUIPMENTSET_OBJECT")},
{GFF_SAVEGAME_EQUIPMENT_ACTIVESET  , _T("SAVEGAME_EQUIPMENT_ACTIVESET")},
{GFF_SAVEGAME_EQUIPMENT_ITEMS      , _T("SAVEGAME_EQUIPMENT_ITEMS")},

// Object properties
{GFF_SAVEGAME_OBJECT_IMMORTAL      , _T("SAVEGAME_OBJECT_IMMORTAL")},
{GFF_SAVEGAME_OBJECT_EVENTSCRIPT   , _T("SAVEGAME_OBJECT_EVENTSCRIPT")},
{GFF_SAVEGAME_OBJECT_TAG           , _T("SAVEGAME_OBJECT_TAG")},

// Item properties
{GFF_SAVEGAME_ITEMS                , _T("SAVEGAME_ITEMS")},
{GFF_SAVEGAME_ITEM_DROPPABLE       , _T("SAVEGAME_ITEM_DROPPABLE")},
{GFF_SAVEGAME_ITEM_DAMAGED         , _T("SAVEGAME_ITEM_DAMAGED")},
{GFF_SAVEGAME_MAX_ITEMS            , _T("SAVEGAME_MAX_ITEMS")},
{GFF_SAVEGAME_CRAFTING_RECIPE_LIST , _T("SAVEGAME_CRAFTING_RECIPE_LIST")},
{GFF_SAVEGAME_ITEM_IRREMOVABLE     , _T("SAVEGAME_ITEM_IRREMOVABLE")},
{GFF_SAVEGAME_ITEM_INDESTRUCTIBLE  , _T("SAVEGAME_ITEM_INDESTRUCTIBLE")},
{GFF_SAVEGAME_ITEM_MATERIALTYPE    , _T("SAVEGAME_ITEM_MATERIALTYPE")},
{GFF_SAVEGAME_ITEM_STEALABLE       , _T("SAVEGAME_ITEM_STEALABLE")},
{GFF_SAVEGAME_ITEM_INFINITE        , _T("SAVEGAME_ITEM_INFINITE")},
{GFF_SAVEGAME_ITEM_CURRENT_VFX_PROPERTY_ID , _T("SAVEGAME_ITEM_CURRENT_VFX_PROPERTY_ID")},
{GFF_SAVEGAME_ITEM_CURRENT_VFX_PROPERTY_POWER , _T("SAVEGAME_ITEM_CURRENT_VFX_PROPERTY_POWER")},

// Object properties (con't.)
{GFF_SAVEGAME_OBJECT_PLOT          , _T("SAVEGAME_OBJECT_PLOT")},
{GFF_SAVEGAME_OBJECT_HEALTH        , _T("SAVEGAME_OBJECT_HEALTH")},
{GFF_SAVEGAME_OBJECT_MAX_HEALTH    , _T("SAVEGAME_OBJECT_MAX_HEALTH")},
{GFF_SAVEGAME_OBJECT_RANK          , _T("SAVEGAME_OBJECT_RANK")},
{GFF_SAVEGAME_OBJECT_TREASURE_GROUP  , _T("SAVEGAME_OBJECT_TREASURE_GROUP")},
{GFF_SAVEGAME_OBJECT_NAME          , _T("SAVEGAME_OBJECT_NAME")},
{GFF_SAVEGAME_OBJECT_LOOPING_ANIMATION , _T("SAVEGAME_OBJECT_LOOPING_ANIMATION")},
{GFF_SAVEGAME_OBJECT_LOOTABLE_CREATURE_APPEARANCETYPE , _T("SAVEGAME_OBJECT_LOOTABLE_CREATURE_APPEARANCETYPE")},
{GFF_SAVEGAME_OBJECT_PICKLOCK      , _T("SAVEGAME_OBJECT_PICKLOCK")},
{GFF_SAVEGAME_OBJECT_TRAP_DETECTED , _T("SAVEGAME_OBJECT_TRAP_DETECTED")},
{GFF_SAVEGAME_OBJECT_DCDETECTCHECK , _T("SAVEGAME_OBJECT_DCDETECTCHECK")},
{GFF_SAVEGAME_OBJECT_DCDISARMCHECK , _T("SAVEGAME_OBJECT_DCDISARMCHECK")},
{GFF_SAVEGAME_OBJECT_INTERACTION_RADIUS , _T("SAVEGAME_OBJECT_INTERACTION_RADIUS")},
{GFF_SAVEGAME_OBJECT_IMPORTANCE    , _T("SAVEGAME_OBJECT_IMPORTANCE")},

// Party information (con't.)
{GFF_SAVEGAME_SELECTED_CHARACTER   , _T("SAVEGAME_SELECTED_CHARACTER")},
//{GFF_SAVEGAME_FOLLOWER_LAST_ENABLED_AREA         , _T("SAVEGAME_FOLLOWER_LAST_ENABLED_AREA")},
//{GFF_SAVEGAME_FOLLOWER_LAST_ENABLED_POSITION     , _T("SAVEGAME_FOLLOWER_LAST_ENABLED_POSITION")},
//{GFF_SAVEGAME_FOLLOWER_LAST_ENABLED_ORIENTATION  , _T("SAVEGAME_FOLLOWER_LAST_ENABLED_ORIENTATION")},
{GFF_SAVEGAME_PARTY_PICKER_GUI_STATUS            , _T("SAVEGAME_PARTY_PICKER_GUI_STATUS")},
{GFF_SAVEGAME_PARTY_APPROVAL_LIST  , _T("SAVEGAME_PARTY_APPROVAL_LIST")},
{GFF_SAVEGAME_PARTY_APPROVAL_ID    , _T("SAVEGAME_PARTY_APPROVAL_ID")},
{GFF_SAVEGAME_PARTY_APPROVAL_LEVEL  , _T("SAVEGAME_PARTY_APPROVAL_LEVEL")},
{GFF_SAVEGAME_PARTY_LEADER         , _T("SAVEGAME_PARTY_LEADER")},
{GFF_SAVEGAME_NONPARTYMEMBERS	  , _T("SAVEGAME_NONPARTYMEMBERS")},
{GFF_SAVEGAME_PARTY_MEMBER_SUBSTATE  , _T("SAVEGAME_PARTY_MEMBER_SUBSTATE")},
{GFF_SAVEGAME_PARTY_MEMBER_LOCKED    , _T("SAVEGAME_PARTY_MEMBER_LOCKED")},
{GFF_SAVEGAME_PARTY_MEMBER_FOLLOW    , _T("SAVEGAME_PARTY_MEMBER_FOLLOW")},
{GFF_SAVEGAME_PARTY_ITEM_STORAGE_ITEM        , _T("SAVEGAME_PARTY_ITEM_STORAGE_ITEM")},
{GFF_SAVEGAME_PARTY_ITEM_STORAGE_OWNER       , _T("SAVEGAME_PARTY_ITEM_STORAGE_OWNER")},
{GFF_SAVEGAME_PARTY_ITEM_STORAGE_SLOT        , _T("SAVEGAME_PARTY_ITEM_STORAGE_SLOT")},
{GFF_SAVEGAME_PARTY_ITEM_STORAGE_WEAPONSET   , _T("SAVEGAME_PARTY_ITEM_STORAGE_WEAPONSET")},
{GFF_SAVEGAME_PARTY_ITEM_STORAGE_LIST        , _T("SAVEGAME_PARTY_ITEM_STORAGE_LIST")},
{GFF_SAVEGAME_PARTY_NEW_ITEM_ID              , _T("SAVEGAME_PARTY_NEW_ITEM_ID")},
{GFF_SAVEGAME_PARTY_NEW_ITEM_LIST            , _T("SAVEGAME_PARTY_NEW_ITEM_LIST")},
{GFF_SAVEGAME_PARTY_AUTO_LEVEL_DEFAULT       , _T("SAVEGAME_PARTY_AUTO_LEVEL_DEFAULT")},
{GFF_SAVEGAME_PARTY_QUICKBAR_LOCKED          , _T("SAVEGAME_PARTY_QUICKBAR_LOCKED")},
{GFF_SAVEGAME_PARTY_HOLD_POSITIONS           , _T("SAVEGAME_PARTY_HOLD_POSITIONS")},
{GFF_SAVEGAME_PARTY_RUN_IN_DRIVE_MODE        , _T("SAVEGAME_PARTY_RUN_IN_DRIVE_MODE")},

// Map options
{GFF_SAVEGAME_PLAYER_MAP_ZOOM	  , _T("SAVEGAME_PLAYER_MAP_ZOOM")},
{GFF_SAVEGAME_PLAYER_MAP_LEGEND	  , _T("SAVEGAME_PLAYER_MAP_LEGEND")},

{GFF_SAVEGAME_PARTY_APPROVAL_DESC , _T("SAVEGAME_PARTY_APPROVAL_DESC")},
{GFF_SAVEGAME_PLAYER_TIME_PLAYED  , _T("SAVEGAME_PLAYER_TIME_PLAYED")},
{GFF_SAVEGAME_PARTY_BACKPACK_SORT , _T("SAVEGAME_PARTY_BACKPACK_SORT")},

// Creature stats
{GFF_SAVEGAME_STATPROPERTY_BASE    , _T("SAVEGAME_STATPROPERTY_BASE")},
{GFF_SAVEGAME_STATPROPERTY_MODIFIER, _T("SAVEGAME_STATPROPERTY_MODIFIER")},
{GFF_SAVEGAME_STATPROPERTY_CURRENT , _T("SAVEGAME_STATPROPERTY_CURRENT")},
{GFF_SAVEGAME_STATPROPERTY_COMREGEN, _T("SAVEGAME_STATPROPERTY_COMREGEN")},
{GFF_SAVEGAME_STATPROPERTY_REGEN   , _T("SAVEGAME_STATPROPERTY_REGEN")},
// (continued at 16350)

// Spells, talents, quick slots, etc.
{GFF_SAVEGAME_SPELLLIST            , _T("SAVEGAME_SPELLLIST")},
{GFF_SAVEGAME_TALENTLIST           , _T("SAVEGAME_TALENTLIST")},
{GFF_SAVEGAME_SKILLLIST            , _T("SAVEGAME_SKILLLIST")},
{GFF_SAVEGAME_QUICKSLOTS           , _T("SAVEGAME_QUICKSLOTS")},
{GFF_SAVEGAME_ABILITYLIST          , _T("SAVEGAME_ABILITYLIST")},
{GFF_SAVEGAME_QBAR_EXPANSION_VALUE , _T("SAVEGAME_QBAR_EXPANSION_VALUE")},
{GFF_SAVEGAME_QUICKSLOT_ABILITY    , _T("SAVEGAME_QUICKSLOT_ABILITY")},
{GFF_SAVEGAME_QUICKSLOT_ITEMTAG    , _T("SAVEGAME_QUICKSLOT_ITEMTAG")},
{GFF_SAVEGAME_QUICKSLOTS1          , _T("SAVEGAME_QUICKSLOTS1")},
{GFF_SAVEGAME_QUICKSLOTS2          , _T("SAVEGAME_QUICKSLOTS2")},
{GFF_SAVEGAME_QUICKSLOTS3          , _T("SAVEGAME_QUICKSLOTS3")},
{GFF_SAVEGAME_QUICKSLOTS4          , _T("SAVEGAME_QUICKSLOTS4")},
{GFF_SAVEGAME_CURENTQBAR           , _T("SAVEGAME_CURENTQBAR")},
{GFF_SAVEGAME_LOCKQBAR             , _T("SAVEGAME_LOCKQBAR")},
{GFF_SAVEGAME_QUICKSLOT_TEMPLATE   , _T("SAVEGAME_QUICKSLOT_TEMPLATE")},

// Appearance
{GFF_SAVEGAME_APPEARANCE           , _T("SAVEGAME_APPEARANCE")},
{GFF_SAVEGAME_APPEARANCE_TYPE      , _T("SAVEGAME_APPEARANCE_TYPE")},
{GFF_SAVEGAME_APPEARANCE_GENDER    , _T("SAVEGAME_APPEARANCE_GENDER")},
{GFF_SAVEGAME_APPEARANCE_GORE      , _T("SAVEGAME_APPEARANCE_GORE")},
{GFF_SAVEGAME_APPEARANCE_DECAPITATED               , _T("SAVEGAME_APPEARANCE_DECAPITATED")},
{GFF_SAVEGAME_APPEARANCE_ITEM_HERALDRY_VARIATION   , _T("SAVEGAME_APPEARANCE_ITEM_HERALDRY_VARIATION")},
{GFF_SAVEGAME_APPEARANCE_ORIGINAL_TYPE             , _T("SAVEGAME_APPEARANCE_ORIGINAL_TYPE")},
{GFF_SAVEGAME_APPEARANCE_MORPH_NAME                , _T("SAVEGAME_APPEARANCE_MORPH_NAME")},

{GFF_SAVEGAME_AUTOLEVELUP                          , _T("SAVEGAME_AUTOLEVELUP")},
//{GFF_SAVEGAME_PROMPTAUTOLEVELUP                    , _T("SAVEGAME_PROMPTAUTOLEVELUP")},
{GFF_SAVEGAME_QUICKSLOT_NUMBER                     , _T("SAVEGAME_QUICKSLOT_NUMBER")},

// Player portrait
{GFF_SAVEGAME_PLAYER_PORTRAIT_PITCH                , _T("SAVEGAME_PLAYER_PORTRAIT_PITCH")},
{GFF_SAVEGAME_PLAYER_PORTRAIT_YAW                  , _T("SAVEGAME_PLAYER_PORTRAIT_YAW")},
{GFF_SAVEGAME_PLAYER_PORTRAIT_TINT                 , _T("SAVEGAME_PLAYER_PORTRAIT_TINT")},
{GFF_SAVEGAME_PLAYER_PORTRAIT_EXPRESSION           , _T("SAVEGAME_PLAYER_PORTRAIT_EXPRESSION")},
{GFF_SAVEGAME_PLAYER_PORTRAIT_DISTANCE             , _T("SAVEGAME_PLAYER_PORTRAIT_DISTANCE")},
{GFF_SAVEGAME_PLAYER_PORTRAIT_POSITIONH            , _T("SAVEGAME_PLAYER_PORTRAIT_POSITIONH")},
{GFF_SAVEGAME_PLAYER_PORTRAIT_POSITIONV            , _T("SAVEGAME_PLAYER_PORTRAIT_POSITIONV")},

// Creature lists of various sorts
// (continued from 16304)
{GFF_SAVEGAME_STATLIST             , _T("SAVEGAME_STATLIST")},
{GFF_SAVEGAME_HEROIC_STATLIST      , _T("SAVEGAME_HEROIC_STATLIST")},
{GFF_SAVEGAME_HEROIC_PARTY_STATLIST , _T("SAVEGAME_HEROIC_PARTY_STATLIST")},
{GFF_SAVEGAME_STATPROPERTY_INDEX   , _T("SAVEGAME_STATPROPERTY_INDEX")},
//{GFF_SAVEGAME_STATPROPERTY_MIN     , _T("SAVEGAME_STATPROPERTY_MIN")},
//{GFF_SAVEGAME_STATPROPERTY_MAX     , _T("SAVEGAME_STATPROPERTY_MAX")},

// Plots
{GFF_SAVEGAME_PLOT_MANAGER         , _T("SAVEGAME_PLOT_MANAGER")},
{GFF_SAVEGAME_PLOT_LIST            , _T("SAVEGAME_PLOT_LIST")},
{GFF_SAVEGAME_PLOT_GUID            , _T("SAVEGAME_PLOT_GUID")},
{GFF_SAVEGAME_PLOT_FLAGS_1         , _T("SAVEGAME_PLOT_FLAGS_1")},
{GFF_SAVEGAME_PLOT_FLAGS_2         , _T("SAVEGAME_PLOT_FLAGS_2")},
{GFF_SAVEGAME_PLOT_FLAGS_3         , _T("SAVEGAME_PLOT_FLAGS_3")},
{GFF_SAVEGAME_PLOT_FLAGS_4         , _T("SAVEGAME_PLOT_FLAGS_4")},

{GFFSTRUCT_SAVEGAME_ADDIN_UID      , _T("SAVEGAME_ADDIN_UID")},
{GFFSTRUCT_SAVEGAME_ADDIN_ENUS     , _T("SAVEGAME_ADDIN_ENUS")},
{GFFSTRUCT_SAVEGAME_ADDIN_FRFR     , _T("SAVEGAME_ADDIN_FRFR")},
{GFFSTRUCT_SAVEGAME_ADDIN_ITIT     , _T("SAVEGAME_ADDIN_ITIT")},
{GFFSTRUCT_SAVEGAME_ADDIN_DEDE     , _T("SAVEGAME_ADDIN_DEDE")},
{GFFSTRUCT_SAVEGAME_ADDIN_ESES     , _T("SAVEGAME_ADDIN_ESES")},
{GFFSTRUCT_SAVEGAME_ADDIN_PLPL     , _T("SAVEGAME_ADDIN_PLPL")},
{GFFSTRUCT_SAVEGAME_ADDIN_RURU     , _T("SAVEGAME_ADDIN_RURU")},
{GFFSTRUCT_SAVEGAME_ADDIN_PSEUDO   , _T("SAVEGAME_ADDIN_PSEUDO")},
{GFFSTRUCT_SAVEGAME_ADDIN_CSCZ     , _T("SAVEGAME_ADDIN_CSCZ")},
{GFFSTRUCT_SAVEGAME_ADDIN_HUHU     , _T("SAVEGAME_ADDIN_HUHU")},

// Creature groups and teams
{GFF_SAVEGAME_GROUP_LIST           , _T("SAVEGAME_GROUP_LIST")},
{GFF_SAVEGAME_GROUP_ID             , _T("SAVEGAME_GROUP_ID")},
{GFF_SAVEGAME_GROUP_HOSTILES       , _T("SAVEGAME_GROUP_HOSTILES")},
{GFF_SAVEGAME_TEAM_ID              , _T("SAVEGAME_TEAM_ID")},
{GFF_SAVEGAME_CREATURE_STEALTH     , _T("SAVEGAME_CREATURE_STEALTH")},
{GFF_SAVEGAME_IS_PLOT_GIVER        , _T("SAVEGAME_IS_PLOT_GIVER")},
{GFF_SAVEGAME_CAN_LEVELUP          , _T("SAVEGAME_CAN_LEVELUP")},
{GFF_SAVEGAME_CREATURE_TRACKABLE   , _T("SAVEGAME_CREATURE_TRACKABLE")},
{GFF_SAVEGAME_CREATURE_CONTROLLABLE, _T("SAVEGAME_CREATURE_CONTROLLABLE")},
{GFF_SAVEGAME_CREATURE_INTERACTIVE , _T("SAVEGAME_CREATURE_INTERACTIVE")},
{GFF_SAVEGAME_CREATURE_RACE        , _T("SAVEGAME_CREATURE_RACE")},
{GFF_SAVEGAME_CREATURE_PACKAGE     , _T("SAVEGAME_CREATURE_PACKAGE")},
{GFF_SAVEGAME_CREATURE_PACKAGE_AI  , _T("SAVEGAME_CREATURE_PACKAGE_AI")},
{GFF_SAVEGAME_CREATURE_CANCHANGEEQUIPMENT , _T("SAVEGAME_CREATURE_CANCHANGEEQUIPMENT")},
{GFF_SAVEGAME_CREATURE_CLASS_RANK_LIST , _T("SAVEGAME_CREATURE_CLASS_RANK_LIST")},
{GFF_SAVEGAME_CREATURE_CLASS_ID    , _T("SAVEGAME_CREATURE_CLASS_ID")},
{GFF_SAVEGAME_CREATURE_CLASS_RANK  , _T("SAVEGAME_CREATURE_CLASS_RANK")},
{GFF_SAVEGAME_CREATURE_IS_GHOST    , _T("SAVEGAME_CREATURE_IS_GHOST")},
{GFF_SAVEGAME_CREATURE_MODAL_ABILITY_LIST , _T("SAVEGAME_CREATURE_MODAL_ABILITY_LIST")},
{GFF_SAVEGAME_CREATURE_SHOW_AS_ALLY_ON_MAP , _T("SAVEGAME_CREATURE_SHOW_AS_ALLY_ON_MAP")},
{GFF_SAVEGAME_CREATURE_IS_STATUE , _T("SAVEGAME_CREATURE_IS_STATUE")},
{GFF_SAVEGAME_CREATURE_MINIMIZED_SKILL_HEADER_LIST , _T("SAVEGAME_CREATURE_MINIMIZED_SKILL_HEADER_LIST")},
{GFF_SAVEGAME_CREATURE_MINIMIZED_TALENT_HEADER_LIST , _T("SAVEGAME_CREATURE_MINIMIZED_TALENT_HEADER_LIST")},
{GFF_SAVEGAME_CREATURE_ABILITY_HEADER_ID , _T("SAVEGAME_CREATURE_ABILITY_HEADER_ID")},
{GFF_SAVEGAME_CREATURE_ITEMS_SCALED , _T("SAVEGAME_CREATURE_ITEMS_SCALED")},

{GFF_SAVEGAME_CREATURE_HEATBEAT_INTERVAL , _T("SAVEGAME_CREATURE_HEATBEAT_INTERVAL")},

{GFF_SAVEGAME_CREATURE_ROAM_RADIUS , _T("SAVEGAME_CREATURE_ROAM_RADIUS")},
{GFF_SAVEGAME_CREATURE_ROAM_CENTER , _T("SAVEGAME_CREATURE_ROAM_CENTER")},

{GFF_SAVEGAME_CREATURE_POOL_NAME , _T("SAVEGAME_CREATURE_POOL_NAME")},
{GFF_SAVEGAME_CREATURE_POOL_AVAILABLE , _T("SAVEGAME_CREATURE_POOL_AVAILABLE")},

{GFF_SAVEGAME_CREATURE_NOPERMDEATH , _T("SAVEGAME_CREATURE_NOPERMDEATH")},
{GFF_SAVEGAME_CREATURE_TIMESINCEDEATH , _T("SAVEGAME_CREATURE_TIMESINCEDEATH")},

// Decay
{GFF_SAVEGAME_CREATURE_TIMEBEFOREDECAY , _T("SAVEGAME_CREATURE_TIMEBEFOREDECAY")},

// World database
{GFF_SAVEGAME_WORLDDATABASE        , _T("SAVEGAME_WORLDDATABASE")},
{GFF_SAVEGAME_WORLDDB_IDGROUP      , _T("SAVEGAME_WORLDDB_IDGROUP")},
{GFF_SAVEGAME_WORLDDB_LASTID       , _T("SAVEGAME_WORLDDB_LASTID")},

// Party
{GFF_SAVEGAME_PARTY_SEEN_LINES       , _T("SAVEGAME_PARTY_SEEN_LINES")},

// Journal
{GFF_SAVEGAME_JOURNAL                            , _T("SAVEGAME_JOURNAL")},
{GFF_SAVEGAME_JOURNAL_ACTIVE_LIST                , _T("SAVEGAME_JOURNAL_ACTIVE_LIST")},
{GFF_SAVEGAME_JOURNAL_COMPLETE_LIST              , _T("SAVEGAME_JOURNAL_COMPLETE_LIST")},
{GFF_SAVEGAME_JOURNAL_TITLE                      , _T("SAVEGAME_JOURNAL_TITLE")},
{GFF_SAVEGAME_JOURNAL_TEXT                       , _T("SAVEGAME_JOURNAL_TEXT")},
{GFF_SAVEGAME_JOURNAL_PARENT_PLOT                , _T("SAVEGAME_JOURNAL_PARENT_PLOT")},
{GFF_SAVEGAME_JOURNAL_RESREF                     , _T("SAVEGAME_JOURNAL_RESREF")},
{GFF_SAVEGAME_JOURNAL_STORY_TEXT                 , _T("SAVEGAME_JOURNAL_STORY_TEXT")},
{GFF_SAVEGAME_JOURNAL_AREA_TAG                   , _T("SAVEGAME_JOURNAL_AREA_TAG")},
{GFF_SAVEGAME_JOURNAL_PLOT_DESTINATION_LIST      , _T("SAVEGAME_JOURNAL_PLOT_DESTINATION_LIST")},
{GFF_SAVEGAME_JOURNAL_PLOT_DESTINATION_TAG       , _T("SAVEGAME_JOURNAL_PLOT_DESTINATION_TAG")},
{GFF_SAVEGAME_JOURNAL_PLOT_DESTINATION_GUID_LIST , _T("SAVEGAME_JOURNAL_PLOT_DESTINATION_GUID_LIST")},
{GFF_SAVEGAME_JOURNAL_CONVERSATION_LIST          , _T("SAVEGAME_JOURNAL_CONVERSATION_LIST")},
{GFF_SAVEGAME_JOURNAL_CONVERSATION_LINE_LIST     , _T("SAVEGAME_JOURNAL_CONVERSATION_LINE_LIST")},
{GFF_SAVEGAME_JOURNAL_CONVERSATION_LINE_SPEAKER  , _T("SAVEGAME_JOURNAL_CONVERSATION_LINE_SPEAKER")},
{GFF_SAVEGAME_JOURNAL_CONVERSATION_LINE_TEXT     , _T("SAVEGAME_JOURNAL_CONVERSATION_LINE_TEXT")},
{GFF_SAVEGAME_JOURNAL_CONVERSATION_LINE_REPLY    , _T("SAVEGAME_JOURNAL_CONVERSATION_LINE_REPLY")},
{GFF_SAVEGAME_JOURNAL_UNREAD_CODEX_LIST          , _T("SAVEGAME_JOURNAL_UNREAD_CODEX_LIST")},
{GFF_SAVEGAME_JOURNAL_ORPHAN_LIST                , _T("SAVEGAME_JOURNAL_ORPHAN_LIST")},
{GFF_SAVEGAME_JOURNAL_QUEST_COMPLETED            , _T("SAVEGAME_JOURNAL_QUEST_COMPLETED")},
{GFF_SAVEGAME_JOURNAL_QUEST_GROUP                , _T("SAVEGAME_JOURNAL_QUEST_GROUP")},
{GFF_SAVEGAME_JOURNAL_GROUP_LIST                 , _T("SAVEGAME_JOURNAL_GROUP_LIST")},
{GFF_SAVEGAME_JOURNAL_GROUP_RESREF               , _T("SAVEGAME_JOURNAL_GROUP_RESREF")},
{GFF_SAVEGAME_JOURNAL_GROUP_OPEN_IN_CURRENT      , _T("SAVEGAME_JOURNAL_GROUP_OPEN_IN_CURRENT")},
{GFF_SAVEGAME_JOURNAL_GROUP_OPEN_IN_COMPLETED    , _T("SAVEGAME_JOURNAL_GROUP_OPEN_IN_COMPLETED")},
{GFF_SAVEGAME_JOURNAL_GROUP_PRIORITY             , _T("SAVEGAME_JOURNAL_GROUP_PRIORITY")},

// Journal continued at 16540

{GFF_SAVEGAME_AMBIENTDIALOG_LIST                 , _T("SAVEGAME_AMBIENTDIALOG_LIST")},
{GFF_SAVEGAME_AMBIENTDIALOG_OWNER                , _T("SAVEGAME_AMBIENTDIALOG_OWNER")},
{GFF_SAVEGAME_AMBIENTDIALOG_SPEAKER              , _T("SAVEGAME_AMBIENTDIALOG_SPEAKER")},
{GFF_SAVEGAME_AMBIENTDIALOG_RESREF               , _T("SAVEGAME_AMBIENTDIALOG_RESREF")},
{GFF_SAVEGAME_AMBIENTDIALOG_LINE                 , _T("SAVEGAME_AMBIENTDIALOG_LINE")},

// Journal continued from 16529

{GFF_SAVEGAME_JOURNAL_QUEST_UPDATED              , _T("SAVEGAME_JOURNAL_QUEST_UPDATED")},
{GFF_SAVEGAME_JOURNAL_OFFER_ID                   , _T("SAVEGAME_JOURNAL_OFFER_ID")},

// Body bag
{GFF_SAVEGAME_BODYBAG_ID             , _T("SAVEGAME_BODYBAG_ID")},
{GFF_SAVEGAME_ISBODYBAG              , _T("SAVEGAME_ISBODYBAG")},
{GFF_SAVEGAME_LOOTABLE_OBJECT_ID     , _T("SAVEGAME_LOOTABLE_OBJECT_ID")},

// Save game AoE data
{GFF_SAVEGAME_AOE_ID                 , _T("SAVEGAME_AOE_ID")},
{GFF_SAVEGAME_AOE_SHAPE              , _T("SAVEGAME_AOE_SHAPE")},
{GFF_SAVEGAME_AOE_RADIUS             , _T("SAVEGAME_AOE_RADIUS")},
{GFF_SAVEGAME_AOE_WIDTH              , _T("SAVEGAME_AOE_WIDTH")},
{GFF_SAVEGAME_AOE_LENGTH             , _T("SAVEGAME_AOE_LENGTH")},
{GFF_SAVEGAME_AOE_CREATOR            , _T("SAVEGAME_AOE_CREATOR")},
{GFF_SAVEGAME_AOE_DURATION           , _T("SAVEGAME_AOE_DURATION")},
{GFF_SAVEGAME_AOE_DURATION_TYPE      , _T("SAVEGAME_AOE_DURATION_TYPE")},
{GFF_SAVEGAME_AOE_LINKED             , _T("SAVEGAME_AOE_LINKED")},
// {GFF_SAVEGAME_AOE_ABILITY_ID      , _T("SAVEGAME_AOE_ABILITY_ID")},

// more creature data
{GFF_SAVEGAME_CREATURE_RANK         , _T("SAVEGAME_CREATURE_RANK")},

// Save game Game Effect data
{GFF_SAVEGAME_EFFECT_ID              , _T("SAVEGAME_EFFECT_ID")},
{GFF_SAVEGAME_EFFECT_TYPE            , _T("SAVEGAME_EFFECT_TYPE")},
{GFF_SAVEGAME_EFFECT_DURATION_TYPE   , _T("SAVEGAME_EFFECT_DURATION_TYPE")},
{GFF_SAVEGAME_EFFECT_DURATION        , _T("SAVEGAME_EFFECT_DURATION")},
{GFF_SAVEGAME_EFFECT_SUBTYPE         , _T("SAVEGAME_EFFECT_SUBTYPE")},
{GFF_SAVEGAME_EFFECT_TIMEINDEX       , _T("SAVEGAME_EFFECT_TIMEINDEX")},
{GFF_SAVEGAME_EFFECT_ANIMATION       , _T("SAVEGAME_EFFECT_ANIMATION")},
{GFF_SAVEGAME_EFFECT_PRIORITY        , _T("SAVEGAME_EFFECT_PRIORITY")},
{GFF_SAVEGAME_EFFECT_CREATOR         , _T("SAVEGAME_EFFECT_CREATOR")},
{GFF_SAVEGAME_EFFECT_ABILITY_ID      , _T("SAVEGAME_EFFECT_ABILITY_ID")},
{GFF_SAVEGAME_EFFECT_LIST            , _T("SAVEGAME_EFFECT_LIST")},
{GFF_SAVEGAME_EFFECT_ENGINE_DATA     , _T("SAVEGAME_EFFECT_ENGINE_DATA")},
{GFF_SAVEGAME_EFFECT_RESOURCE2       , _T("SAVEGAME_EFFECT_RESOURCE2")},
{GFF_SAVEGAME_EFFECT_STARTINGID      , _T("SAVEGAME_EFFECT_STARTINGID")},
{GFF_SAVEGAME_EFFECT_FLAGS           , _T("SAVEGAME_EFFECT_FLAGS")},


// Save game AI Master data
{GFF_SAVEGAME_AI_MASTER              , _T("SAVEGAME_AI_MASTER")},
{GFF_SAVEGAME_EVENT_QUEUE            , _T("SAVEGAME_EVENT_QUEUE")},
{GFF_SAVEGAME_EVENT_DAY              , _T("SAVEGAME_EVENT_DAY")},
{GFF_SAVEGAME_EVENT_TIME             , _T("SAVEGAME_EVENT_TIME")},
{GFF_SAVEGAME_EVENT_CALLER_ID        , _T("SAVEGAME_EVENT_CALLER_ID")},
{GFF_SAVEGAME_EVENT_TARGET_ID        , _T("SAVEGAME_EVENT_TARGET_ID")},
{GFF_SAVEGAME_EVENT_ID               , _T("SAVEGAME_EVENT_ID")},

// Save game data arrays
{GFF_SAVEGAME_DATAARRAY              , _T("SAVEGAME_DATAARRAY")},
{GFF_SAVEGAME_DATAARRAY_INT          , _T("SAVEGAME_DATAARRAY_INT")},
{GFF_SAVEGAME_DATAARRAY_FLOAT        , _T("SAVEGAME_DATAARRAY_FLOAT")},
{GFF_SAVEGAME_DATAARRAY_BOOL         , _T("SAVEGAME_DATAARRAY_BOOL")},
{GFF_SAVEGAME_DATAARRAY_OID          , _T("SAVEGAME_DATAARRAY_OID")},
{GFF_SAVEGAME_DATAARRAY_STRING       , _T("SAVEGAME_DATAARRAY_STRING")},
{GFF_SAVEGAME_DATAARRAY_VECTOR       , _T("SAVEGAME_DATAARRAY_VECTOR")},
{GFF_SAVEGAME_DATAARRAY_QUATERNION   , _T("SAVEGAME_DATAARRAY_QUATERNION")},

// Save game AI Event data
{GFF_SAVEGAME_EVENT_SCRIPT           , _T("SAVEGAME_EVENT_SCRIPT")},
{GFF_SAVEGAME_EVENT_SIMPLE_VALUE     , _T("SAVEGAME_EVENT_SIMPLE_VALUE")},

// Save game script data
{GFF_SAVEGAME_SCRIPT_EVENT_TYPE      , _T("SAVEGAME_SCRIPT_EVENT_TYPE")},
{GFF_SAVEGAME_SCRIPT_EVENT_CREATOR   , _T("SAVEGAME_SCRIPT_EVENT_CREATOR")},
{GFF_SAVEGAME_SCRIPT_EVENT_TARGET    , _T("SAVEGAME_SCRIPT_EVENT_TARGET")},
{GFF_SAVEGAME_SCRIPT_EVENT_DATA      , _T("SAVEGAME_SCRIPT_EVENT_DATA")},
{GFF_SAVEGAME_SCRIPT_EVENT_SCRIPT_NAME   , _T("SAVEGAME_SCRIPT_EVENT_SCRIPT_NAME")},
{GFF_SAVEGAME_SCRIPT_EVENT_RESOURCE_LIST , _T("SAVEGAME_SCRIPT_EVENT_RESOURCE_LIST")},

// World timer
{GFF_SAVEGAME_WORLD_TIMER            , _T("SAVEGAME_WORLD_TIMER")},
{GFF_SAVEGAME_WORLD_TIMER_DAY        , _T("SAVEGAME_WORLD_TIMER_DAY")},
{GFF_SAVEGAME_WORLD_TIMER_TIME       , _T("SAVEGAME_WORLD_TIMER_TIME")},

// Waypoints
{GFF_SAVEGAME_WAYPOINT_MAPNOTE           , _T("SAVEGAME_WAYPOINT_MAPNOTE")},
{GFF_SAVEGAME_WAYPOINT_MAPNOTE_ENABLED   , _T("SAVEGAME_WAYPOINT_MAPNOTE_ENABLED")},
// This field is being left in for backwards compatibility with old save game (expires March 8, 2009)
{GFF_SAVEGAME_WAYPOINT_MAPNOTE_TEXT      , _T("SAVEGAME_WAYPOINT_MAPNOTE_TEXT")},
{GFF_SAVEGAME_WAYPOINT_MAPNOTE_TYPE      , _T("SAVEGAME_WAYPOINT_MAPNOTE_TYPE")},
{GFF_SAVEGAME_WAYPOINT_MAPNOTE_LOC_TEXT  , _T("SAVEGAME_WAYPOINT_MAPNOTE_LOC_TEXT")},

// Commandlist
{GFF_SAVEGAME_CURRENT_COMMAND        , _T("SAVEGAME_CURRENT_COMMAND")},
{GFF_SAVEGAME_COMMAND_LIST           , _T("SAVEGAME_COMMAND_LIST")},
{GFF_SAVEGAME_COMMAND_COMMANDID      , _T("SAVEGAME_COMMAND_COMMANDID")},
{GFF_SAVEGAME_COMMAND_ID             , _T("SAVEGAME_COMMAND_ID")},
{GFF_SAVEGAME_COMMAND_STATIC         , _T("SAVEGAME_COMMAND_STATIC")},
{GFF_SAVEGAME_COMMAND_DATA           , _T("SAVEGAME_COMMAND_DATA")},
{GFF_SAVEGAME_COMMAND_PLAYERISSUED   , _T("SAVEGAME_COMMAND_PLAYERISSUED")},

// Subactions
{GFF_SAVEGAME_SUBACTION_LIST                 , _T("SAVEGAME_SUBACTION_LIST")},
{GFF_SAVEGAME_SUBACTION_ID                   , _T("SAVEGAME_SUBACTION_ID")},
{GFF_SAVEGAME_SUBACTION_CORE_SUBACTION       , _T("SAVEGAME_SUBACTION_CORE_SUBACTION")},
{GFF_SAVEGAME_SUBACTION_CORE_INTERRUPTABLE   , _T("SAVEGAME_SUBACTION_CORE_INTERRUPTABLE")},
{GFF_SAVEGAME_SUBACTION_TIME_INDEX           , _T("SAVEGAME_SUBACTION_TIME_INDEX")},
{GFF_SAVEGAME_SUBACTION_LAST_TIME_INDEX      , _T("SAVEGAME_SUBACTION_LAST_TIME_INDEX")},
{GFF_SAVEGAME_SUBACTION_LENGTH               , _T("SAVEGAME_SUBACTION_LENGTH")},
{GFF_SAVENAME_SUBACTION_START_TIME           , _T("SAVENAME_SUBACTION_START_TIME")},
{GFF_SAVEGAME_SUBACTION_DATA                 , _T("SAVEGAME_SUBACTION_DATA")},

// Action Queue
{GFF_SAVEGAME_CURRENT_ACTION_QUEUE           , _T("SAVEGAME_CURRENT_ACTION_QUEUE")},

// AoE objects, continued...
{GFF_SAVEGAME_AOE_ABILITY_ID                , _T("SAVEGAME_AOE_ABILITY_ID")},
{GFF_SAVEGAME_AOE_FLAGS                     , _T("SAVEGAME_AOE_FLAGS")},
{GFF_SAVEGAME_AOE_STATIONARY                , _T("SAVEGAME_AOE_STATIONARY")},

// Savegame version info (number, package dependencies, etc.)
{GFF_SAVEGAME_BUILD_NUMBER                   , _T("SAVEGAME_BUILD_NUMBER")},
{GFF_SAVEGAME_SAVE_VERSION_INTERNAL          , _T("SAVEGAME_SAVE_VERSION_INTERNAL")},

{GFF_SAVEGAME_WORLDMAP                       , _T("SAVEGAME_WORLDMAP")},
{GFF_SAVEGAME_WORLDMAP_PRIMARYMAP            , _T("SAVEGAME_WORLDMAP_PRIMARYMAP")},
{GFF_SAVEGAME_WORLDMAP_SECONDARYMAP          , _T("SAVEGAME_WORLDMAP_SECONDARYMAP")},
{GFF_SAVEGAME_WORLDMAP_MAPLIST               , _T("SAVEGAME_WORLDMAP_MAPLIST")},
{GFF_SAVEGAME_WORLDMAP_MAP_TAG               , _T("SAVEGAME_WORLDMAP_MAP_TAG")},
{GFF_SAVEGAME_WORLDMAP_MAP_PLAYERLOC         , _T("SAVEGAME_WORLDMAP_MAP_PLAYERLOC")},
{GFF_SAVEGAME_WORLDMAP_MAP_PINLIST           , _T("SAVEGAME_WORLDMAP_MAP_PINLIST")},
{GFF_SAVEGAME_WORLDMAP_MAPPIN_TAG            , _T("SAVEGAME_WORLDMAP_MAPPIN_TAG")},
{GFF_SAVEGAME_WORLDMAP_MAPPIN_STATE          , _T("SAVEGAME_WORLDMAP_MAPPIN_STATE")},
{GFF_SAVEGAME_WORLDMAP_MAPPIN_RECENTLY_ACTIVATED , _T("SAVEGAME_WORLDMAP_MAPPIN_RECENTLY_ACTIVATED")},
{GFF_SAVEGAME_WORLDMAP_GUI_STATUS            , _T("SAVEGAME_WORLDMAP_GUI_STATUS")},
{GFF_SAVEGAME_WORLDMAP_LAST_PIN_CLICKED      , _T("SAVEGAME_WORLDMAP_LAST_PIN_CLICKED")},
{GFF_SAVEGAME_WORLDMAP_MAPPIN_ACTIVATED_PREVIOUSLY , _T("SAVEGAME_WORLDMAP_MAPPIN_ACTIVATED_PREVIOUSLY")},
{GFF_SAVEGAME_WORLDMAP_MAPPIN_LAST_STATE     , _T("SAVEGAME_WORLDMAP_MAPPIN_LAST_STATE")},
{GFF_SAVEGAME_WORLDMAP_TRAVELPOINT_POSX      , _T("SAVEGAME_WORLDMAP_TRAVELPOINT_POSX")},
{GFF_SAVEGAME_WORLDMAP_TRAVELPOINT_POSY      , _T("SAVEGAME_WORLDMAP_TRAVELPOINT_POSY")},
{GFF_SAVEGAME_WORLDMAP_MAP_TRAVELPATH_BEFORE , _T("SAVEGAME_WORLDMAP_MAP_TRAVELPATH_BEFORE")},
{GFF_SAVEGAME_WORLDMAP_MAP_TRAVELPATH_AFTER  , _T("SAVEGAME_WORLDMAP_MAP_TRAVELPATH_AFTER")},
{GFF_SAVEGAME_WORLDMAP_MAPPIN_NAME           , _T("SAVEGAME_WORLDMAP_MAPPIN_NAME")},

// save meta data
{GFF_SAVEGAME_META_AREANAME                  , _T("SAVEGAME_META_AREANAME")},
{GFF_SAVEGAME_META_TIMEPLAYED                , _T("SAVEGAME_META_TIMEPLAYED")},
{GFF_SAVEGAME_META_LEVEL                     , _T("SAVEGAME_META_LEVEL")},
{GFF_SAVEGAME_META_CLASS                     , _T("SAVEGAME_META_CLASS")},
{GFF_SAVEGAME_META_GENDER                    , _T("SAVEGAME_META_GENDER")},
{GFF_SAVEGAME_META_RACE                      , _T("SAVEGAME_META_RACE")},
{GFF_SAVEGAME_META_BACKGROUND                , _T("SAVEGAME_META_BACKGROUND")},
{GFF_SAVEGAME_META_NAME                      , _T("SAVEGAME_META_NAME")},
{GFF_SAVEGAME_META_SAVENAME                  , _T("SAVEGAME_META_SAVENAME")},


// Party tactics
{GFF_SAVEGAME_TACTICENTRY_TARGET_OBJECT_ID   , _T("SAVEGAME_TACTICENTRY_TARGET_OBJECT_ID")},
{GFF_SAVEGAME_TACTICENTRY_CONDITION_OBJECT_ID, _T("SAVEGAME_TACTICENTRY_CONDITION_OBJECT_ID")},
{GFF_SAVEGAME_PARTY_TACTICS_ITEM_ABILITIES   , _T("SAVEGAME_PARTY_TACTICS_ITEM_ABILITIES")},
{GFF_SAVEGAME_TACTICS_HAS_TABLE              , _T("SAVEGAME_TACTICS_HAS_TABLE")},
{GFF_SAVEGAME_TACTICS_TABLE                  , _T("SAVEGAME_TACTICS_TABLE")},
{GFF_SAVEGAME_TACTICS_ENABLED                , _T("SAVEGAME_TACTICS_ENABLED")},
{GFF_SAVEGAME_TACTICS_LIST                   , _T("SAVEGAME_TACTICS_LIST")},
{GFF_SAVEGAME_TACTICENTRY_ENABLED            , _T("SAVEGAME_TACTICENTRY_ENABLED")},
{GFF_SAVEGAME_TACTICENTRY_TARGET             , _T("SAVEGAME_TACTICENTRY_TARGET")},
{GFF_SAVEGAME_TACTICENTRY_CONDITION          , _T("SAVEGAME_TACTICENTRY_CONDITION")},
{GFF_SAVEGAME_TACTICENTRY_COMMAND            , _T("SAVEGAME_TACTICENTRY_COMMAND")},
{GFF_SAVEGAME_TACTICENTRY_COMMANDPARAM       , _T("SAVEGAME_TACTICENTRY_COMMANDPARAM")},
{GFF_SAVEGAME_TACTICENTRY_TARGETTAG          , _T("SAVEGAME_TACTICENTRY_TARGETTAG")},
{GFF_SAVEGAME_TACTICENTRY_CONDITIONTAG       , _T("SAVEGAME_TACTICENTRY_CONDITIONTAG")},
{GFF_SAVEGAME_TACTICS_DIRTY                  , _T("SAVEGAME_TACTICS_DIRTY")},
{GFF_SAVEGAME_TACTICS_PRESETTYPE             , _T("SAVEGAME_TACTICS_PRESETTYPE")},
{GFF_SAVEGAME_TACTICS_PRESETINDEX            , _T("SAVEGAME_TACTICS_PRESETINDEX")},
{GFF_SAVEGAME_TACTICS_PRESETLIST             , _T("SAVEGAME_TACTICS_PRESETLIST")},
{GFF_SAVEGAME_TACTICS_CUSTOMLIST             , _T("SAVEGAME_TACTICS_CUSTOMLIST")},
{GFF_SAVEGAME_TACTICENTRY_COMMANDITEMTAG     , _T("SAVEGAME_TACTICENTRY_COMMANDITEMTAG")},
{GFF_SAVEGAME_TACTICENTRY_COMMANDITEMRESREF  , _T("SAVEGAME_TACTICENTRY_COMMANDITEMRESREF")},

// Plot actions
{GFF_SAVEGAME_PLOTACTIONS                    , _T("SAVEGAME_PLOTACTIONS")},
{GFF_SAVEGAME_PLOTACTIONS_ENABLED            , _T("SAVEGAME_PLOTACTIONS_ENABLED")},
{GFF_SAVEGAME_PLOTACTIONS_CURRENTSET         , _T("SAVEGAME_PLOTACTIONS_CURRENTSET")},
{GFF_SAVEGAME_PLOTACTIONS_LIST               , _T("SAVEGAME_PLOTACTIONS_LIST")},
{GFF_SAVEGAME_PLOTACTION_ID                  , _T("SAVEGAME_PLOTACTION_ID")},
{GFF_SAVEGAME_PLOTACTION_STATE               , _T("SAVEGAME_PLOTACTION_STATE")},
{GFF_SAVEGAME_PLOTACTION_COUNT               , _T("SAVEGAME_PLOTACTION_COUNT")},
{GFF_SAVEGAME_PLOTACTION_UPDATED             , _T("SAVEGAME_PLOTACTION_UPDATED")},

// Sounds object properties
{GFF_SAVEGAME_SOUND_TAG                   , _T("SAVEGAME_SOUND_TAG")},
{GFF_SAVEGAME_SOUND_ACTIVE                , _T("SAVEGAME_SOUND_ACTIVE")},
{GFF_SAVEGAME_SOUND_NAME                  , _T("SAVEGAME_SOUND_NAME")},
{GFF_SAVEGAME_SOUND_XPOSITION             , _T("SAVEGAME_SOUND_XPOSITION")},
{GFF_SAVEGAME_SOUND_YPOSITION             , _T("SAVEGAME_SOUND_YPOSITION")},
{GFF_SAVEGAME_SOUND_ZPOSITION             , _T("SAVEGAME_SOUND_ZPOSITION")},
{GFF_SAVEGAME_SOUND_XORIENTATION          , _T("SAVEGAME_SOUND_XORIENTATION")},
{GFF_SAVEGAME_SOUND_YORIENTATION          , _T("SAVEGAME_SOUND_YORIENTATION")},
{GFF_SAVEGAME_SOUND_ZORIENTATION          , _T("SAVEGAME_SOUND_ZORIENTATION")},
{GFF_SAVEGAME_SOUND_WORIENTATION          , _T("SAVEGAME_SOUND_WORIENTATION")},
{GFF_SAVEGAME_SOUND_VOLUME                , _T("SAVEGAME_SOUND_VOLUME")},
{GFF_SAVEGAME_SOUND_PITCH                 , _T("SAVEGAME_SOUND_PITCH")},
{GFF_SAVEGAME_SOUND_FADEIN                , _T("SAVEGAME_SOUND_FADEIN")},
{GFF_SAVEGAME_SOUND_FADEOUT               , _T("SAVEGAME_SOUND_FADEOUT")},
{GFF_SAVEGAME_SOUND_MAXDISTANCEMULT       , _T("SAVEGAME_SOUND_MAXDISTANCEMULT")},
{GFF_SAVEGAME_SOUND_CONEINSIDE            , _T("SAVEGAME_SOUND_CONEINSIDE")},
{GFF_SAVEGAME_SOUND_CONEOUTSIDE           , _T("SAVEGAME_SOUND_CONEOUTSIDE")},
{GFF_SAVEGAME_SOUND_CONEVOLUME            , _T("SAVEGAME_SOUND_CONEVOLUME")},
{GFF_SAVEGAME_SOUND_PRIORITY              , _T("SAVEGAME_SOUND_PRIORITY")},
{GFF_SAVEGAME_SOUND_OCCLUDABLE            , _T("SAVEGAME_SOUND_OCCLUDABLE")},

{GFF_SAVEGAME_PLAYER_MORPH                , _T("SAVEGAME_PLAYER_MORPH")},
{GFF_SAVEGAME_PLAYER_SOUNDSET             , _T("SAVEGAME_PLAYER_SOUNDSET")},
{GFF_SAVEGAME_DEFAULT_SOUNDSET            , _T("SAVEGAME_DEFAULT_SOUNDSET")},

// Add-Ins
{GFF_SAVEGAME_ADDIN_NAME                  , _T("SAVEGAME_ADDIN_NAME")},

// Story So Far.
{GFF_SAVEGAME_STORYSOFAR_EVENTLIST		, _T("SAVEGAME_STORYSOFAR_EVENTLIST")},
{GFF_SAVEGAME_STORYSOFAR_EVENTID			, _T("SAVEGAME_STORYSOFAR_EVENTID")},
{GFF_SAVEGAME_STORYSOFAR_GAMETIME		, _T("SAVEGAME_STORYSOFAR_GAMETIME")},
{GFF_SAVEGAME_STORYSOFAR_UTC				, _T("SAVEGAME_STORYSOFAR_UTC")},
{GFF_SAVEGAME_STORYSOFAR_SCREENSHOT		, _T("SAVEGAME_STORYSOFAR_SCREENSHOT")},
{GFF_SAVEGAME_STORYSOFAR_LEVELUPLIST     , _T("SAVEGAME_STORYSOFAR_LEVELUPLIST")},

{GFF_SAVEGAME_STORYSOFAR_AREA			, _T("SAVEGAME_STORYSOFAR_AREA")},
{GFF_SAVEGAME_STORYSOFAR_LEVEL			, _T("SAVEGAME_STORYSOFAR_LEVEL")},
{GFF_SAVEGAME_STORYSOFAR_MONEY			, _T("SAVEGAME_STORYSOFAR_MONEY")},
{GFF_SAVEGAME_STORYSOFAR_CURRENT_HEATLH  , _T("SAVEGAME_STORYSOFAR_CURRENT_HEATLH")},
{GFF_SAVEGAME_STORYSOFAR_TOTAL_HEATLH    , _T("SAVEGAME_STORYSOFAR_TOTAL_HEATLH")},
{GFF_SAVEGAME_STORYSOFAR_CURRENT_STAMINA , _T("SAVEGAME_STORYSOFAR_CURRENT_STAMINA")},
{GFF_SAVEGAME_STORYSOFAR_TOTAL_STAMINA   , _T("SAVEGAME_STORYSOFAR_TOTAL_STAMINA")},
{GFF_SAVEGAME_STORYSOFAR_CURRENT_XP		, _T("SAVEGAME_STORYSOFAR_CURRENT_XP")},
{GFF_SAVEGAME_STORYSOFAR_SPELL_LIST      , _T("SAVEGAME_STORYSOFAR_SPELL_LIST")},
{GFF_SAVEGAME_STORYSOFAR_TALENT_LIST     , _T("SAVEGAME_STORYSOFAR_TALENT_LIST")},
{GFF_SAVEGAME_STORYSOFAR_SKILL_LIST		, _T("SAVEGAME_STORYSOFAR_SKILL_LIST")},
{GFF_SAVEGAME_STORYSOFAR_ATTRIBUTE_LIST  , _T("SAVEGAME_STORYSOFAR_ATTRIBUTE_LIST")},
{GFF_SAVEGAME_STORYSOFAR_ATTRIBUTE_BASE	, _T("SAVEGAME_STORYSOFAR_ATTRIBUTE_BASE")},
{GFF_SAVEGAME_STORYSOFAR_ATTRIBUTE_MODIFIER , _T("SAVEGAME_STORYSOFAR_ATTRIBUTE_MODIFIER")},
{GFF_SAVEGAME_STORYSOFAR_EQUIPMENT_LIST	, _T("SAVEGAME_STORYSOFAR_EQUIPMENT_LIST")},
{GFF_SAVEGAME_STORYSOFAR_EQUIPMENT_SLOTID, _T("SAVEGAME_STORYSOFAR_EQUIPMENT_SLOTID")},
{GFF_SAVEGAME_STORYSOFAR_EQUIPMENT_RESREF, _T("SAVEGAME_STORYSOFAR_EQUIPMENT_RESREF")},
{GFF_SAVEGAME_STORYSOFAR_EQUIPMENT_STACKSIZE , _T("SAVEGAME_STORYSOFAR_EQUIPMENT_STACKSIZE")},
{GFF_SAVEGAME_STORYSOFAR_ITEM_PROPERTY	, _T("SAVEGAME_STORYSOFAR_ITEM_PROPERTY")},
{GFF_SAVEGAME_STORYSOFAR_ITEM_POWER		, _T("SAVEGAME_STORYSOFAR_ITEM_POWER")},
{GFF_SAVEGAME_STORYSOFAR_ITEM_DATA		, _T("SAVEGAME_STORYSOFAR_ITEM_DATA")},

// End Save Game Range, reserved up to 16999

// Begin Designer Data/Toolset Range

// Begin Script Var Table Range
{GFF_SCRIPTVARTABLE                      , _T("SCRIPTVARTABLE")},
{GFF_SCRIPTVARTABLE_NAME                 , _T("SCRIPTVARTABLE_NAME")},
{GFF_SCRIPTVARTABLE_TYPE                 , _T("SCRIPTVARTABLE_TYPE")},
{GFF_SCRIPTVARTABLE_VALUE                , _T("SCRIPTVARTABLE_VALUE")},

// End Script Var Table Range, reserved up to 17099

// Begin Campaign Data Range
{GFF_CAMPAIGN_CIF_ENTRY_AREA_LIST        , _T("CAMPAIGN_CIF_ENTRY_AREA_LIST")},
{GFF_CAMPAIGN_CIF_ENTRY_AREA             , _T("CAMPAIGN_CIF_ENTRY_AREA")},
{GFF_CAMPAIGN_CIF_ENTRY_POSITION         , _T("CAMPAIGN_CIF_ENTRY_POSITION")},
{GFF_CAMPAIGN_CIF_ENTRY_ORIENTATION      , _T("CAMPAIGN_CIF_ENTRY_ORIENTATION")},
{GFF_CAMPAIGN_CIF_ENTRY_SCRIPT           , _T("CAMPAIGN_CIF_ENTRY_SCRIPT")},
{GFF_CAMPAIGN_CIF_ENTRY_CLIENT_SCRIPT    , _T("CAMPAIGN_CIF_ENTRY_CLIENT_SCRIPT")},
{GFF_CAMPAIGN_CIF_DISPLAY_NAME_EN_US     , _T("CAMPAIGN_CIF_DISPLAY_NAME_EN_US")},
{GFF_CAMPAIGN_CIF_DISPLAY_NAME_FR_FR     , _T("CAMPAIGN_CIF_DISPLAY_NAME_FR_FR")},
{GFF_CAMPAIGN_CIF_DISPLAY_NAME_DE_DE     , _T("CAMPAIGN_CIF_DISPLAY_NAME_DE_DE")},
{GFF_CAMPAIGN_CIF_DISPLAY_NAME_PL_PL     , _T("CAMPAIGN_CIF_DISPLAY_NAME_PL_PL")},
{GFF_CAMPAIGN_CIF_DISPLAY_NAME_RU_RU     , _T("CAMPAIGN_CIF_DISPLAY_NAME_RU_RU")},
{GFF_CAMPAIGN_CIF_DISPLAY_NAME_IT_IT     , _T("CAMPAIGN_CIF_DISPLAY_NAME_IT_IT")},
{GFF_CAMPAIGN_CIF_DISPLAY_NAME_ES_ES     , _T("CAMPAIGN_CIF_DISPLAY_NAME_ES_ES")},
{GFF_CAMPAIGN_CIF_DISPLAY_NAME_HU_HU     , _T("CAMPAIGN_CIF_DISPLAY_NAME_HU_HU")},
{GFF_CAMPAIGN_CIF_DISPLAY_NAME_CS_CZ     , _T("CAMPAIGN_CIF_DISPLAY_NAME_CS_CZ")},
{GFF_CAMPAIGN_CIF_DESCRIPTION_EN_US      , _T("CAMPAIGN_CIF_DESCRIPTION_EN_US")},
{GFF_CAMPAIGN_CIF_DESCRIPTION_FR_FR      , _T("CAMPAIGN_CIF_DESCRIPTION_FR_FR")},
{GFF_CAMPAIGN_CIF_DESCRIPTION_DE_DE      , _T("CAMPAIGN_CIF_DESCRIPTION_DE_DE")},
{GFF_CAMPAIGN_CIF_DESCRIPTION_PL_PL      , _T("CAMPAIGN_CIF_DESCRIPTION_PL_PL")},
{GFF_CAMPAIGN_CIF_DESCRIPTION_RU_RU      , _T("CAMPAIGN_CIF_DESCRIPTION_RU_RU")},
{GFF_CAMPAIGN_CIF_DESCRIPTION_IT_IT      , _T("CAMPAIGN_CIF_DESCRIPTION_IT_IT")},
{GFF_CAMPAIGN_CIF_DESCRIPTION_ES_ES      , _T("CAMPAIGN_CIF_DESCRIPTION_ES_ES")},
{GFF_CAMPAIGN_CIF_DESCRIPTION_HU_HU      , _T("CAMPAIGN_CIF_DESCRIPTION_HU_HU")},
{GFF_CAMPAIGN_CIF_DESCRIPTION_CS_CZ      , _T("CAMPAIGN_CIF_DESCRIPTION_CS_CZ")},
// End Campaign Data Range, reserved up to 17599

// End Designer Data/Toolset Range, reserved up to 18999

// Begin Talk table range

{GFF_TALK_BUCKET_LIST                     , _T("TALK_BUCKET_LIST")},
{GFF_TALK_STRING_LIST                     , _T("TALK_STRING_LIST")},
{GFF_TALK_STRING_ID                       , _T("TALK_STRING_ID")},
{GFF_TALK_STRING                          , _T("TALK_STRING")},

// End Talk Table range, reserved up to 19999

// Begin Placeable pathfinding grid patches

{GFF_PLACEABLE_STATES_LIST                , _T("PLACEABLE_STATES_LIST")},
// End Placeable pathfinding grid patches, reserved up to 20999

// Begin VFX project files range 
{GFF_VFX_CHILD_LIST						, _T("VFX_CHILD_LIST")},
{GFF_VFX_OBJECT_ID						, _T("VFX_OBJECT_ID")},
{GFF_VFX_EMITTER_INITIALROTATIONRANGE	, _T("VFX_EMITTER_INITIALROTATIONRANGE")},
//{GFF_VFX_ORIENTATION						, _T("VFX_ORIENTATION")},
{GFF_VFX_ROOT           					, _T("VFX_ROOT")},
{GFF_VFX_EMITTER_MESH_PARTICLE_ROLL_AXIS , _T("VFX_EMITTER_MESH_PARTICLE_ROLL_AXIS")},
{GFF_VFX_TYPE   					        , _T("VFX_TYPE")},
{GFF_VFX_OBJECT_VISIBLE 				    , _T("VFX_OBJECT_VISIBLE")},
{GFF_VFX_EMITTER_MESH_PARTICLE_UP_AXIS   , _T("VFX_EMITTER_MESH_PARTICLE_UP_AXIS")},
{GFF_VFX_KEYFRAME   					    , _T("VFX_KEYFRAME")},
{GFF_VFX_VALUE   					    , _T("VFX_VALUE")},
{GFF_VFX_EMITTER_NAME					, _T("VFX_EMITTER_NAME")},
{GFF_VFX_EMITTER_TYPE  		            , _T("VFX_EMITTER_TYPE")},
{GFF_VFX_EMITTER_ORIENTATIONBEHAVIOUR  	, _T("VFX_EMITTER_ORIENTATIONBEHAVIOUR")},
{GFF_VFX_EMITTER_UPDATEONLYWHENVISIBLE   , _T("VFX_EMITTER_UPDATEONLYWHENVISIBLE")},
{GFF_VFX_EMITTER_LINKPARTICLESTOGETHER   , _T("VFX_EMITTER_LINKPARTICLESTOGETHER")},
{GFF_VFX_EMITTER_MATERIALLIBRARY 	    , _T("VFX_EMITTER_MATERIALLIBRARY")},
{GFF_VFX_EMITTER_MATERIALOBJECT		    , _T("VFX_EMITTER_MATERIALOBJECT")},
{GFF_VFX_EMITTER_BIRTHRATE  		        , _T("VFX_EMITTER_BIRTHRATE")},
{GFF_VFX_EMITTER_BIRTHRATERANGE  		, _T("VFX_EMITTER_BIRTHRATERANGE")},
{GFF_VFX_EMITTER_BIRTHRATEINPARTICLESPERMETER  	, _T("VFX_EMITTER_BIRTHRATEINPARTICLESPERMETER")},
{GFF_VFX_EMITTER_INITIALSPEED  		    , _T("VFX_EMITTER_INITIALSPEED")},
{GFF_VFX_EMITTER_INITIALSPEEDRANGE  	    , _T("VFX_EMITTER_INITIALSPEEDRANGE")},
{GFF_VFX_EMITTER_ACCELERATION            , _T("VFX_EMITTER_ACCELERATION")},
{GFF_VFX_EMITTER_GRAVITYMULTIPLIER       , _T("VFX_EMITTER_GRAVITYMULTIPLIER")},
{GFF_VFX_EMITTER_LIFE                    , _T("VFX_EMITTER_LIFE")},
{GFF_VFX_EMITTER_LIFERANGE               , _T("VFX_EMITTER_LIFERANGE")},
{GFF_VFX_EMITTER_SCALERANGE              , _T("VFX_EMITTER_SCALERANGE")},
{GFF_VFX_EMITTER_SPREADX                 , _T("VFX_EMITTER_SPREADX")},
{GFF_VFX_EMITTER_SPREADY                 , _T("VFX_EMITTER_SPREADY")},
{GFF_VFX_EMITTER_INITIALROTATIONSPEED    , _T("VFX_EMITTER_INITIALROTATIONSPEED")},
{GFF_VFX_EMITTER_INITIALROTATIONSPEEDRANGE           , _T("VFX_EMITTER_INITIALROTATIONSPEEDRANGE")},
{GFF_VFX_EMITTER_ROTATIONALACCELERATION              , _T("VFX_EMITTER_ROTATIONALACCELERATION")},
{GFF_VFX_EMITTER_PARTICLEINHERITANCE                 , _T("VFX_EMITTER_PARTICLEINHERITANCE")},
{GFF_VFX_EMITTER_INHERITVELOCITYINSTEADOFPOSITION    , _T("VFX_EMITTER_INHERITVELOCITYINSTEADOFPOSITION")},
{GFF_VFX_EMITTER_PARTICLESAFFECTEDBYWIND             , _T("VFX_EMITTER_PARTICLESAFFECTEDBYWIND")},
{GFF_VFX_EMITTER_ENABLEPARTICLECOLLISIONS            , _T("VFX_EMITTER_ENABLEPARTICLECOLLISIONS")},
{GFF_VFX_EMITTER_PHYSICSOBJECTSPAWN                  , _T("VFX_EMITTER_PHYSICSOBJECTSPAWN")},
{GFF_VFX_EMITTER_PHYSICSEMITTER                      , _T("VFX_EMITTER_PHYSICSEMITTER")},
{GFF_VFX_EMITTER_MOVEMENTSPREADX                     , _T("VFX_EMITTER_MOVEMENTSPREADX")},
{GFF_VFX_EMITTER_MOVEMENTSPREADY                     , _T("VFX_EMITTER_MOVEMENTSPREADY")},
{GFF_VFX_EMITTER_MOVEMENTSPREADUPDATEDELAY           , _T("VFX_EMITTER_MOVEMENTSPREADUPDATEDELAY")},
{GFF_VFX_EMITTER_TARGETNAME                          , _T("VFX_EMITTER_TARGETNAME")},
{GFF_VFX_EMITTER_TARGETATTRACTION                    , _T("VFX_EMITTER_TARGETATTRACTION")},
{GFF_VFX_EMITTER_TARGETRADIUS                        , _T("VFX_EMITTER_TARGETRADIUS")},
{GFF_VFX_EMITTER_SPAWNDIRECTIONTRACKSTARGET          , _T("VFX_EMITTER_SPAWNDIRECTIONTRACKSTARGET")},
{GFF_VFX_EMITTER_KILLPARTICLEWHENTARGETHIT           , _T("VFX_EMITTER_KILLPARTICLEWHENTARGETHIT")},
{GFF_VFX_EMITTER_PARTICLESFOLLOWPATH                 , _T("VFX_EMITTER_PARTICLESFOLLOWPATH")},
{GFF_VFX_EMITTER_FLIPBOOK_TYPE						, _T("VFX_EMITTER_FLIPBOOK_TYPE")},
{GFF_VFX_EMITTER_FLIPBOOK_FRAMES_PER_SECOND          , _T("VFX_EMITTER_FLIPBOOK_FRAMES_PER_SECOND")},
{GFF_VFX_EMITTER_FLIPBOOK_ROWS						, _T("VFX_EMITTER_FLIPBOOK_ROWS")},
{GFF_VFX_EMITTER_FLIPBOOK_COLUMNS					, _T("VFX_EMITTER_FLIPBOOK_COLUMNS")},
{GFF_VFX_EMITTER_FLIPBOOK_RANDOM_START_FRAME         , _T("VFX_EMITTER_FLIPBOOK_RANDOM_START_FRAME")},
{GFF_VFX_EMITTER_ALPHAMULTIPLIER                     , _T("VFX_EMITTER_ALPHAMULTIPLIER")},
{GFF_VFX_EMITTER_COLORMULTIPLIER                     , _T("VFX_EMITTER_COLORMULTIPLIER")},
{GFF_VFX_EMITTER_SCALEMULTIPLIER                     , _T("VFX_EMITTER_SCALEMULTIPLIER")},
{GFF_VFX_EMITTER_INFINITELIFE                        , _T("VFX_EMITTER_INFINITELIFE")},
{GFF_VFX_EMITTER_CHUNKY_MODEL_NAME					, _T("VFX_EMITTER_CHUNKY_MODEL_NAME")},
{GFF_VFX_EMITTER_INITIALROTATION                     , _T("VFX_EMITTER_INITIALROTATION")},

{GFF_VFX_CRUSTNODE_NAME					, _T("VFX_CRUSTNODE_NAME")},
{GFF_VFX_CRUSTNODE_REALNAME				, _T("VFX_CRUSTNODE_REALNAME")},
{GFF_VFX_CRUSTNODE_CRUSTHOOKID           , _T("VFX_CRUSTNODE_CRUSTHOOKID")},
{GFF_VFX_GEOMETRY_FILE_NAME				, _T("VFX_GEOMETRY_FILE_NAME")},

{GFF_VFX_EMITTER_AGENT                   , _T("VFX_EMITTER_AGENT")},
{GFF_VFX_USE_VARIATION_TINT              , _T("VFX_USE_VARIATION_TINT")},

{GFF_VFX_DUMMY_NAME					    , _T("VFX_DUMMY_NAME")},

{GFF_VFX_GEOMETRY_NAME					, _T("VFX_GEOMETRY_NAME")},
{GFF_VFX_GEOMETRY_SCALE					, _T("VFX_GEOMETRY_SCALE")},

{GFF_VFX_TARGET_NAME					    , _T("VFX_TARGET_NAME")},
{GFF_VFX_MODEL_NAME					    , _T("VFX_MODEL_NAME")},
{GFF_VFX_MODEL_RESOURCETYPE	    	    , _T("VFX_MODEL_RESOURCETYPE")},
{GFF_VFX_MODEL_ANIMATIONNAME 	        , _T("VFX_MODEL_ANIMATIONNAME")},
{GFF_VFX_CREATURE_NAME					, _T("VFX_CREATURE_NAME")},
{GFF_VFX_CREATURE_URI					, _T("VFX_CREATURE_URI")},

{GFF_VFX_RELATIVE_POSITION_X               , _T("VFX_RELATIVE_POSITION_X")},
{GFF_VFX_RELATIVE_POSITION_Y               , _T("VFX_RELATIVE_POSITION_Y")},
{GFF_VFX_RELATIVE_POSITION_Z               , _T("VFX_RELATIVE_POSITION_Z")},
{GFF_VFX_RELATIVE_ORIENTATION_X            , _T("VFX_RELATIVE_ORIENTATION_X")},
{GFF_VFX_RELATIVE_ORIENTATION_Y            , _T("VFX_RELATIVE_ORIENTATION_Y")},
{GFF_VFX_RELATIVE_ORIENTATION_Z            , _T("VFX_RELATIVE_ORIENTATION_Z")},

{GFF_VFX_IMPACT_LENGTH                     , _T("VFX_IMPACT_LENGTH")},
{GFF_VFX_DURATION_LENGTH                   , _T("VFX_DURATION_LENGTH")},
{GFF_VFX_CESSATION_LENGTH                  , _T("VFX_CESSATION_LENGTH")},
{GFF_VFX_CUSTOM_LENGTH                     , _T("VFX_CUSTOM_LENGTH")},
{GFF_VFX_CUSTOM_NAME                       , _T("VFX_CUSTOM_NAME")},

{GFF_VFX_AGEMAP_COLOR_R                      , _T("VFX_AGEMAP_COLOR_R")},
{GFF_VFX_AGEMAP_COLOR_G                      , _T("VFX_AGEMAP_COLOR_G")},
{GFF_VFX_AGEMAP_COLOR_B                      , _T("VFX_AGEMAP_COLOR_B")},
{GFF_VFX_AGEMAP_COLOR_A                      , _T("VFX_AGEMAP_COLOR_A")},
{GFF_VFX_AGEMAP_SCALE_X                      , _T("VFX_AGEMAP_SCALE_X")},
{GFF_VFX_AGEMAP_SCALE_Y                      , _T("VFX_AGEMAP_SCALE_Y")},
{GFF_VFX_AGEMAP_ROTATIONAL_SPEED_MULTIPLIER  , _T("VFX_AGEMAP_ROTATIONAL_SPEED_MULTIPLIER")},

{GFF_VFX_EVENT                             , _T("VFX_EVENT")},
{GFF_VFX_EVENT_TIME                        , _T("VFX_EVENT_TIME")},
{GFF_VFX_EVENT_TYPE                        , _T("VFX_EVENT_TYPE")},
{GFF_VFX_EVENT_ID                          , _T("VFX_EVENT_ID")},
{GFF_VFX_EVENT_TARGETSYSTEM                , _T("VFX_EVENT_TARGETSYSTEM")},

{GFF_VFX_EMITTER_VOLUME_SPAWN_TYPE                  , _T("VFX_EMITTER_VOLUME_SPAWN_TYPE")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_SELECTED_PART_NAME    , _T("VFX_EMITTER_VOLUME_SPAWN_SELECTED_PART_NAME")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_ARBITRARY_VOLUME_NAME , _T("VFX_EMITTER_VOLUME_SPAWN_ARBITRARY_VOLUME_NAME")},
{GFF_VFX_EMITTER_COLLISION_TYPE					   , _T("VFX_EMITTER_COLLISION_TYPE")},
{GFF_VFX_EMITTER_BOUNCE_VALUE					   , _T("VFX_EMITTER_BOUNCE_VALUE")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_WITHIN_VOLUME         , _T("VFX_EMITTER_VOLUME_SPAWN_WITHIN_VOLUME")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_INVERT_NORMALS        , _T("VFX_EMITTER_VOLUME_SPAWN_INVERT_NORMALS")},


{GFF_VFX_EMITTER_COLORMULTIPLIER_R                  , _T("VFX_EMITTER_COLORMULTIPLIER_R")},
{GFF_VFX_EMITTER_COLORMULTIPLIER_G                  , _T("VFX_EMITTER_COLORMULTIPLIER_G")},
{GFF_VFX_EMITTER_COLORMULTIPLIER_B                  , _T("VFX_EMITTER_COLORMULTIPLIER_B")},

{GFF_VFX_SPLAT_AGEMAP_COLOR_R                      , _T("VFX_SPLAT_AGEMAP_COLOR_R")},
{GFF_VFX_SPLAT_AGEMAP_COLOR_G                      , _T("VFX_SPLAT_AGEMAP_COLOR_G")},
{GFF_VFX_SPLAT_AGEMAP_COLOR_B                      , _T("VFX_SPLAT_AGEMAP_COLOR_B")},
{GFF_VFX_SPLAT_AGEMAP_COLOR_A                      , _T("VFX_SPLAT_AGEMAP_COLOR_A")},
{GFF_VFX_SPLAT_AGEMAP_SCALE_X                      , _T("VFX_SPLAT_AGEMAP_SCALE_X")},
{GFF_VFX_SPLAT_AGEMAP_SCALE_Y                      , _T("VFX_SPLAT_AGEMAP_SCALE_Y")},

{GFF_VFX_FILE_OBJECT_VERSION						   , _T("VFX_FILE_OBJECT_VERSION")},

{GFF_VFX_EMITTER_SPLAT_ALPHAMULTIPLIER             , _T("VFX_EMITTER_SPLAT_ALPHAMULTIPLIER")},
{GFF_VFX_EMITTER_SPLAT_COLORMULTIPLIER_R           , _T("VFX_EMITTER_SPLAT_COLORMULTIPLIER_R")},
{GFF_VFX_EMITTER_SPLAT_COLORMULTIPLIER_G           , _T("VFX_EMITTER_SPLAT_COLORMULTIPLIER_G")},
{GFF_VFX_EMITTER_SPLAT_COLORMULTIPLIER_B           , _T("VFX_EMITTER_SPLAT_COLORMULTIPLIER_B")},

{GFF_VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_MESH_TYPE			, _T("VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_MESH_TYPE")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_BOX_MIN				, _T("VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_BOX_MIN")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_BOX_MAX				, _T("VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_BOX_MAX")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_SPHERE_R				, _T("VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_SPHERE_R")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_CYLINDER_R			, _T("VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_CYLINDER_R")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_CYLINDER_H			, _T("VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_CYLINDER_H")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_CYLINDER_AXIS        , _T("VFX_EMITTER_VOLUME_SPAWN_PRIMITIVE_CYLINDER_AXIS")},
{GFF_VFX_EMITTER_VOLUME_SPAWN_USE_VOLUME_NORMAL				, _T("VFX_EMITTER_VOLUME_SPAWN_USE_VOLUME_NORMAL")},

{GFF_VFX_EMITTER_WORLD_AXIS_ACCELERATION_X			        , _T("VFX_EMITTER_WORLD_AXIS_ACCELERATION_X")},
{GFF_VFX_EMITTER_WORLD_AXIS_ACCELERATION_Y			        , _T("VFX_EMITTER_WORLD_AXIS_ACCELERATION_Y")},
{GFF_VFX_EMITTER_WORLD_AXIS_ACCELERATION_Z			        , _T("VFX_EMITTER_WORLD_AXIS_ACCELERATION_Z")},

{GFF_VFX_RANGE										        , _T("VFX_RANGE")},

{GFF_VFX_EMITTER_AXIS_ACCELERATION_SPACE 			        , _T("VFX_EMITTER_AXIS_ACCELERATION_SPACE")},
{GFF_VFX_EMITTER_UVDISTRIBUTIONSIZE                          , _T("VFX_EMITTER_UVDISTRIBUTIONSIZE")},

{GFF_VFX_EMITTER_GROUP_NAME                                  , _T("VFX_EMITTER_GROUP_NAME")},

{GFF_VFX_REMOTE_MATERIAL_TINT_R                              , _T("VFX_REMOTE_MATERIAL_TINT_R")},
{GFF_VFX_REMOTE_MATERIAL_TINT_G                              , _T("VFX_REMOTE_MATERIAL_TINT_G")},
{GFF_VFX_REMOTE_MATERIAL_TINT_B                              , _T("VFX_REMOTE_MATERIAL_TINT_B")},
{GFF_VFX_REMOTE_MATERIAL_TINT_A                              , _T("VFX_REMOTE_MATERIAL_TINT_A")},
{GFF_VFX_REMOTE_MATERIAL_FRESNEL_FALLOFF                     , _T("VFX_REMOTE_MATERIAL_FRESNEL_FALLOFF")},
{GFF_VFX_REMOTE_MATERIAL_INVERT_FRESNEL                      , _T("VFX_REMOTE_MATERIAL_INVERT_FRESNEL")},
{GFF_VFX_REMOTE_MATERIAL_ALPHA                               , _T("VFX_REMOTE_MATERIAL_ALPHA")},
{GFF_VFX_REMOTE_MATERIAL_DECAL_NAME                          , _T("VFX_REMOTE_MATERIAL_DECAL_NAME")},

// End VFX project files range reserved up to 21999

{GFF_WND_ROOT                            , _T("WND_ROOT")},
{GFF_WND_RESREF                          , _T("WND_RESREF")},
{GFF_WND_RADIUS                          , _T("WND_RADIUS")},

{GFF_WND_STRENGTH                        , _T("WND_STRENGTH")},
{GFF_WND_DIRECTION                       , _T("WND_DIRECTION")},
{GFF_WND_RADIUS_FALLOFF                  , _T("WND_RADIUS_FALLOFF")},

{GFF_WND_GUST_MIN_STRENGTH               , _T("WND_GUST_MIN_STRENGTH")},
{GFF_WND_GUST_MAX_STRENGTH               , _T("WND_GUST_MAX_STRENGTH")},
{GFF_WND_GUST_MIN_DURATION               , _T("WND_GUST_MIN_DURATION")},
{GFF_WND_GUST_MAX_DURATION               , _T("WND_GUST_MAX_DURATION")},

{GFF_WND_GUST_FREQUENCY                  , _T("WND_GUST_FREQUENCY")},

{GFF_WND_TREE_NUM_WIND_MATRICES          , _T("WND_TREE_NUM_WIND_MATRICES")},
{GFF_WND_TREE_NUM_LEAF_ANGLES            , _T("WND_TREE_NUM_LEAF_ANGLES")},
{GFF_WND_TREE_RESPONSE                   , _T("WND_TREE_RESPONSE")},
{GFF_WND_TREE_RESPONSE_LIMIT             , _T("WND_TREE_RESPONSE_LIMIT")},
{GFF_WND_TREE_MAX_BEND_ANGLE             , _T("WND_TREE_MAX_BEND_ANGLE")},
{GFF_WND_TREE_BRANCH_EXPONENT            , _T("WND_TREE_BRANCH_EXPONENT")},
{GFF_WND_TREE_LEAF_EXPONENT              , _T("WND_TREE_LEAF_EXPONENT")},

{GFF_WND_TREE_BRANCH_OSCILLATION_X       , _T("WND_TREE_BRANCH_OSCILLATION_X")},
{GFF_WND_TREE_BRANCH_OSCILLATION_Y       , _T("WND_TREE_BRANCH_OSCILLATION_Y")},
{GFF_WND_TREE_LEAF_ROCKING               , _T("WND_TREE_LEAF_ROCKING")},
{GFF_WND_TREE_LEAF_RUSTLING              , _T("WND_TREE_LEAF_RUSTLING")},

{GFF_WND_CLOTH_RESPONSE                  , _T("WND_CLOTH_RESPONSE")},
{GFF_WND_CLOTH_RESPONSE_LMT              , _T("WND_CLOTH_RESPONSE_LMT")},
{GFF_WND_CLOTH_STRENGTH                  , _T("WND_CLOTH_STRENGTH")},
{GFF_WND_CLOTH_GUST_STRENGTH_MIN         , _T("WND_CLOTH_GUST_STRENGTH_MIN")},
{GFF_WND_CLOTH_GUST_STRENGTH_MAX         , _T("WND_CLOTH_GUST_STRENGTH_MAX")},
{GFF_WND_CLOTH_GUST_DURATION_MIN         , _T("WND_CLOTH_GUST_DURATION_MIN")},
{GFF_WND_CLOTH_GUST_DURATION_MAX         , _T("WND_CLOTH_GUST_DURATION_MAX")},
{GFF_WND_CLOTH_GUST_INTERVAL_MIN         , _T("WND_CLOTH_GUST_INTERVAL_MIN")},
{GFF_WND_CLOTH_GUST_INTERVAL_MAX         , _T("WND_CLOTH_GUST_INTERVAL_MAX")},
{GFF_WND_CLOTH_GUST_DIR_CHANGE           , _T("WND_CLOTH_GUST_DIR_CHANGE")},
{GFF_WND_CLOTH_GUST_AXIS_RATIO           , _T("WND_CLOTH_GUST_AXIS_RATIO")},

// End WND file range reserved up to 22499

{GFF_ATMO_DATA                           , _T("ATMO_DATA")},
{GFF_ATMO_SUN_COLOR                      , _T("ATMO_SUN_COLOR")},
{GFF_ATMO_SUN_INTENSITY                  , _T("ATMO_SUN_INTENSITY")},
{GFF_ATMO_TURBIDITY                      , _T("ATMO_TURBIDITY")},
{GFF_ATMO_EARTH_REFLECTANCE              , _T("ATMO_EARTH_REFLECTANCE")},
{GFF_ATMO_MIE_MULTIPLIER                 , _T("ATMO_MIE_MULTIPLIER")},
{GFF_ATMO_RAYLEIGH_MULTIPLIER            , _T("ATMO_RAYLEIGH_MULTIPLIER")},
{GFF_ATMO_EARTH_IN_SCATTER_POWER         , _T("ATMO_EARTH_IN_SCATTER_POWER")},
{GFF_ATMO_DISTANCE_MULTIPLIER            , _T("ATMO_DISTANCE_MULTIPLIER")},
{GFF_ATMO_PHASE_ECCENTRICITY             , _T("ATMO_PHASE_ECCENTRICITY")},
{GFF_ATMO_ALPHA                          , _T("ATMO_ALPHA")},
{GFF_ATMO_FOG_COLOR                      , _T("ATMO_FOG_COLOR")},
{GFF_ATMO_FOG_INTENSITY                  , _T("ATMO_FOG_INTENSITY")},
{GFF_ATMO_FOG_CAP                        , _T("ATMO_FOG_CAP")},
{GFF_ATMO_FOG_ZENITH                     , _T("ATMO_FOG_ZENITH")},
{GFF_ATMO_FOG_WATER_INTENSITY            , _T("ATMO_FOG_WATER_INTENSITY")},
{GFF_ATMO_FOG_WATER_CAP                  , _T("ATMO_FOG_WATER_CAP")},
{GFF_ATMO_FOG_TACTICAL_MULTIPLIER        , _T("ATMO_FOG_TACTICAL_MULTIPLIER")},

{GFF_CLOUD_DATA                          , _T("CLOUD_DATA")},
{GFF_CLOUD_DENSITY                       , _T("CLOUD_DENSITY")},
{GFF_CLOUD_SHARPNESS                     , _T("CLOUD_SHARPNESS")},
{GFF_CLOUD_DEPTH                         , _T("CLOUD_DEPTH")},
{GFF_CLOUD_RANGE_MULTIPLIER1             , _T("CLOUD_RANGE_MULTIPLIER1")},
{GFF_CLOUD_RANGE_MULTIPLIER2             , _T("CLOUD_RANGE_MULTIPLIER2")},
{GFF_CLOUD_COLOR                         , _T("CLOUD_COLOR")},

{GFF_MOON_SCALE                          , _T("MOON_SCALE")},
{GFF_MOON_ALPHA                          , _T("MOON_ALPHA")},
{GFF_MOON_CLOUDALPHA                     , _T("MOON_CLOUDALPHA")},
{GFF_MOON_ROTATION                       , _T("MOON_ROTATION")},


// End ATMO/CLOUD file range reserved up to 22999

{GFF_MORPH_PARTS                  , _T("MORPH_PARTS")},
{GFF_MORPH_TINTFILENAMES          , _T("MORPH_TINTFILENAMES")},
{GFF_MORPH_NODES                  , _T("MORPH_NODES")},
{GFF_MORPH_TEXTURE_NAME           , _T("MORPH_TEXTURE_NAME")},
{GFF_MORPH_TEXTUREPARAM           , _T("MORPH_TEXTUREPARAM")},
{GFF_MORPH_VECTOR4FPARAM          , _T("MORPH_VECTOR4FPARAM")},
{GFF_MORPH_FLOATPARAM             , _T("MORPH_FLOATPARAM")},
{GFF_MORPH_FLOATPARAMVALUE        , _T("MORPH_FLOATPARAMVALUE")},
{GFF_MORPH_NAME                   , _T("MORPH_NAME")},
{GFF_MORPH_MAT_NODE_NAME          , _T("MORPH_MAT_NODE_NAME")},
{GFF_MORPH_MAT_PARAM_NAME         , _T("MORPH_MAT_PARAM_NAME")},
{GFF_MORPH_MAT_PARAM_INDEX        , _T("MORPH_MAT_PARAM_INDEX")},
{GFF_MORPH_MAT_PARAM_VALUE        , _T("MORPH_MAT_PARAM_VALUE")},
{GFF_MORPH_MAT_PARAM_VECTOR       , _T("MORPH_MAT_PARAM_VECTOR")},
{GFF_MORPH_MAT_PARAMS             , _T("MORPH_MAT_PARAMS")},
{GFF_MORPH_MAT_VEC_PARAMS         , _T("MORPH_MAT_VEC_PARAMS")},
{GFF_MORPH_MODEL_NAME             , _T("MORPH_MODEL_NAME")},
{GFF_MORPH_MODEL_VALUE            , _T("MORPH_MODEL_VALUE")},
{GFF_MORPH_MODEL_PARAMS           , _T("MORPH_MODEL_PARAMS")},
{GFF_MORPH_TEX_NODE_NAME          , _T("MORPH_TEX_NODE_NAME")},
{GFF_MORPH_TEX_PARAM_NAME         , _T("MORPH_TEX_PARAM_NAME")},
{GFF_MORPH_TEX_NAME               , _T("MORPH_TEX_NAME")},
{GFF_MORPH_TEXTURES               , _T("MORPH_TEXTURES")},


// End MORPH file range reserved up to 23999

{GFF_MAP_TAG                     , _T("MAP_TAG")},
{GFF_MAP_TYPE                    , _T("MAP_TYPE")},
{GFF_MAP_PINLIST                 , _T("MAP_PINLIST")},
{GFF_MAP_PIN_STATE               , _T("MAP_PIN_STATE")},
{GFF_MAP_PIN_POS_X               , _T("MAP_PIN_POS_X")},
{GFF_MAP_PIN_POS_Y               , _T("MAP_PIN_POS_Y")},
{GFF_MAP_PIN_NAME                , _T("MAP_PIN_NAME")},
{GFF_MAP_PIN_TAG                 , _T("MAP_PIN_TAG")},
{GFF_MAP_PIN_AREATAG             , _T("MAP_PIN_AREATAG")},
{GFF_MAP_PIN_TERRAINTYPE         , _T("MAP_PIN_TERRAINTYPE")},
{GFF_MAP_PIN_TYPE                , _T("MAP_PIN_TYPE")},
{GFF_MAP_MAPS                    , _T("MAP_MAPS")},
{GFF_MAP_MAP_PARENT_RESREF       , _T("MAP_MAP_PARENT_RESREF")},
{GFF_MAP_PIN_WAYPOINT_OVERRIDE   , _T("MAP_PIN_WAYPOINT_OVERRIDE")},
{GFF_MAP_TRAILLIST               , _T("MAP_TRAILLIST")},
{GFF_MAP_TRAIL_PIN_1_TAG         , _T("MAP_TRAIL_PIN_1_TAG")},
{GFF_MAP_TRAIL_PIN_2_TAG         , _T("MAP_TRAIL_PIN_2_TAG")},
{GFF_MAP_POINTLIST               , _T("MAP_POINTLIST")},
{GFF_MAP_POINT_POS_X             , _T("MAP_POINT_POS_X")},
{GFF_MAP_POINT_POS_Y             , _T("MAP_POINT_POS_Y")},
{GFF_MAP_PIN_TOOLTIP             , _T("MAP_PIN_TOOLTIP")},

// End MAP file range reserved up to 24999

{GFF_DEP_FILE_LIST                , _T("DEP_FILE_LIST")},
{GFF_DEP_RESREF                   , _T("DEP_RESREF")},
{GFF_DEP_DEPENDENCY_LIST          , _T("DEP_DEPENDENCY_LIST")},

// End DEP range reserved up to 25099

{GFF_CHAR_MOP                    , _T("CHAR_MOP")},
{GFF_CHAR_APP                    , _T("CHAR_APP")},
{GFF_CHAR_GENDER                 , _T("CHAR_GENDER")},
{GFF_CHAR_RACE                   , _T("CHAR_RACE")},
{GFF_CHAR_CLASS                  , _T("CHAR_CLASS")},
{GFF_CHAR_BACK                   , _T("CHAR_BACK")},
{GFF_CHAR_ATTRIBUTES             , _T("CHAR_ATTRIBUTES")},
{GFF_CHAR_ABILITIES              , _T("CHAR_ABILITIES")},
{GFF_CHAR_NAME                   , _T("CHAR_NAME")},
{GFF_CHAR_HEAD_NAME              , _T("CHAR_HEAD_NAME")},
{GFF_CHAR_ATTRIBUTE_ID           , _T("CHAR_ATTRIBUTE_ID")},
{GFF_CHAR_ATTRIBUTE_POINTS       , _T("CHAR_ATTRIBUTE_POINTS")},

// End CHAR range reserved up to 25199

{GFF_SAVEPROFILE_BUILD_NUMBER            , _T("SAVEPROFILE_BUILD_NUMBER")},
{GFF_SAVEPROFILE_INITIAL_BUILD_NUMBER    , _T("SAVEPROFILE_INITIAL_BUILD_NUMBER")},
{GFF_SAVEPROFILE_LAST_USED_PROFILE		, _T("SAVEPROFILE_LAST_USED_PROFILE")},
{GFF_SAVEPROFILE_PROFILELIST				, _T("SAVEPROFILE_PROFILELIST")},
{GFF_SAVEPROFILE_ACCOUNT_NAME			, _T("SAVEPROFILE_ACCOUNT_NAME")},
{GFF_SAVEPROFILE_LOCAL_ACHIEVEMENT_DATA	, _T("SAVEPROFILE_LOCAL_ACHIEVEMENT_DATA")},
{GFF_SAVEPROFILE_ACHIEVEMENTLIST			, _T("SAVEPROFILE_ACHIEVEMENTLIST")},
{GFF_SAVEPROFILE_ACHIEVEMENT_ID			, _T("SAVEPROFILE_ACHIEVEMENT_ID")},
{GFF_SAVEPROFILE_ACHIEVEMENT_NEW			, _T("SAVEPROFILE_ACHIEVEMENT_NEW")},
{GFF_SAVEPROFILE_ACHIEVEMENT_ONLINE		, _T("SAVEPROFILE_ACHIEVEMENT_ONLINE")},
{GFF_SAVEPROFILE_ACHIEVEMENT_COUNT		, _T("SAVEPROFILE_ACHIEVEMENT_COUNT")},
{GFF_SAVEPROFILE_ACHIEVEMENT_DATE		, _T("SAVEPROFILE_ACHIEVEMENT_DATE")},

{GFF_SAVEPROFILE_ADDIN_LIST				, _T("SAVEPROFILE_ADDIN_LIST")},
{GFF_SAVEPROFILE_OFFER_LIST				, _T("SAVEPROFILE_OFFER_LIST")},
{GFF_SAVEPROFILE_CONTENT_NAME			, _T("SAVEPROFILE_CONTENT_NAME")},
{GFF_SAVEPROFILE_CONTENT_SHOWN			, _T("SAVEPROFILE_CONTENT_SHOWN")},
{GFF_SAVEPROFILE_CONTENT_ENABLED         , _T("SAVEPROFILE_CONTENT_ENABLED")},
{GFF_SAVEPROFILE_CONTENT_TOKEN			, _T("SAVEPROFILE_CONTENT_TOKEN")},
{GFF_SAVEPROFILE_CONTENT_USER			, _T("SAVEPROFILE_CONTENT_USER")},
{GFF_SAVEPROFILE_FILE_LIST				, _T("SAVEPROFILE_FILE_LIST")},
{GFF_SAVEPROFILE_FILE_NAME				, _T("SAVEPROFILE_FILE_NAME")},
{GFF_SAVEPROFILE_FILE_DATA				, _T("SAVEPROFILE_FILE_DATA")},
{GFF_SAVEPROFILE_FILE_VERSION			, _T("SAVEPROFILE_FILE_VERSION")},
{GFF_SAVEPROFILE_ADDIN_TOKEN_LIST        , _T("SAVEPROFILE_ADDIN_TOKEN_LIST")},
// End SAVEPROFILE range reserved up to 26199

{0,  NULL},
};

template<> void ::Dump(IDAODumpStream& out, LPCTSTR name, GFFID const & val)
{
	Dump(out, name, EnumToString(val, GFFIDs));
}

Text EnumToText(DAO::GFF::GFFID const & val)
{
	return EnumToString(val, GFFIDs);
}
